iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >记录SpringBoot2.7.5升级SpringBoot3.0.0问题
  • 162
分享到

记录SpringBoot2.7.5升级SpringBoot3.0.0问题

javaspringboot 2023-08-18 21:08:41 162人浏览 安东尼
摘要

项目场景: 尝试将自己的项目升级到SpringBoot3.0.0分享下踩过的坑 问题一:启动报错 javax.servlet.Http.httpservletRequest 依赖配置好后,项目启动报错 报错内容如下: java.lang.T

项目场景:

尝试将自己的项目升级到SpringBoot3.0.0分享下踩过的坑

问题一:启动报错 javax.servlet.Http.httpservletRequest

依赖配置好后,项目启动报错 报错内容如下:

java.lang.TypeNotPresentException: Type javax.servlet.http.HttpServletRequest not presentat java.base/sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:117) ~[na:na]at java.base/sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:125) ~[na:na]at java.base/sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49) ~[na:na]at java.base/sun.reflect.generics.visitor.Reifier.reifyTypeArguments(Reifier.java:68) ~[na:na]at java.base/sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:138) ~[na:na]at java.base/sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:49) ~[na:na]at java.base/sun.reflect.generics.repository.ClassRepository.computeSuperInterfaces(ClassRepository.java:117) ~[na:na]at java.base/sun.reflect.generics.repository.ClassRepository.getSuperInterfaces(ClassRepository.java:95) ~[na:na]at java.base/java.lang.Class.getGenericInterfaces(Class.java:1211) ~[na:na]at org.springframework.core.ResolvableType.getInterfaces(ResolvableType.java:500) ~[spring-core-6.0.2.jar:6.0.2]at org.springframework.core.ResolvableType.as(ResolvableType.java:448) ~[spring-core-6.0.2.jar:6.0.2]at org.springframework.core.ResolvableType.forClass(ResolvableType.java:1048) ~[spring-core-6.0.2.jar:6.0.2]at org.springframework.plugin.core.config.PluginReGIStriesBeanDefinitionRegistrar.getTargetType(PluginRegistriesBeanDefinitionRegistrar.java:101) ~[spring-plugin-core-2.0.0.RELEASE.jar:2.0.0.RELEASE]at org.springframework.plugin.core.config.PluginRegistriesBeanDefinitionRegistrar.registerBeanDefinitions(PluginRegistriesBeanDefinitionRegistrar.java:71) ~[spring-plugin-core-2.0.0.RELEASE.jar:2.0.0.RELEASE]at org.springframework.context.annotation.ImportBeanDefinitionRegistrar.registerBeanDefinitions(ImportBeanDefinitionRegistrar.java:86) ~[spring-context-6.0.2.jar:6.0.2]at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.lambda$loadBeanDefinitionsFromRegistrars$1(ConfigurationClassBeanDefinitionReader.java:373) ~[spring-context-6.0.2.jar:6.0.2]at java.base/java.util.LinkedHashMap.forEach(LinkedHashMap.java:721) ~[na:na]at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsFromRegistrars(ConfigurationClassBeanDefinitionReader.java:372) ~[spring-context-6.0.2.jar:6.0.2]at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:148) ~[spring-context-6.0.2.jar:6.0.2]at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:120) ~[spring-context-6.0.2.jar:6.0.2]at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:409) ~[spring-context-6.0.2.jar:6.0.2]at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:283) ~[spring-context-6.0.2.jar:6.0.2]at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:344) ~[spring-context-6.0.2.jar:6.0.2]at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:115) ~[spring-context-6.0.2.jar:6.0.2]at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:745) ~[spring-context-6.0.2.jar:6.0.2]at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:565) ~[spring-context-6.0.2.jar:6.0.2]at org.springframework.boot.WEB.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) ~[spring-boot-3.0.0.jar:3.0.0]at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:730) ~[spring-boot-3.0.0.jar:3.0.0]at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:432) ~[spring-boot-3.0.0.jar:3.0.0]at org.springframework.boot.SpringApplication.run(SpringApplication.java:308) ~[spring-boot-3.0.0.jar:3.0.0]at org.springframework.boot.SpringApplication.run(SpringApplication.java:1302) ~[spring-boot-3.0.0.jar:3.0.0]at org.springframework.boot.SpringApplication.run(SpringApplication.java:1291) ~[spring-boot-3.0.0.jar:3.0.0]at com.test.test.TestFundApplication.main(TestFundApplication.java:14) ~[classes/:na]Caused by: java.lang.ClassNotFoundException: javax.servlet.http.HttpServletRequestat java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) ~[na:na]at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) ~[na:na]at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:520) ~[na:na]at java.base/java.lang.Class.forName0(Native Method) ~[na:na]at java.base/java.lang.Class.forName(Class.java:467) ~[na:na]at java.base/sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:114) ~[na:na]... 32 common frames omitted

原因分析:

发现是因为swagger版本问题,由于swagger需要springfox依赖,但是springfox版本过低
参考连接:How to run with spring boot 3.0.0-snapshot?


解决方案:

替换swagger为springdoc

        <dependency>            <groupId>org.springdoc</groupId>            <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>            <version>2.0.0</version>            <exclusions>                <exclusion>                    <artifactId>swagger-ui</artifactId>                    <groupId>org.webjars</groupId>                </exclusion>            </exclusions>        </dependency>

相关配置 参考SpringBoot结合SpringDoc

问题二: 启动报错 Property ‘sqlSessionFactory‘ or ‘sqlSessionTemplate‘ are required

问题一解决后继续报错

原因分析

mybatis和mybatis-plus现在仍然不支持SpringBoot 3.0.0

解决方案

参考:SpringBoot3整合MyBatis报错

问题三: 新版SpringSecurity配置失效

前两个问题解决后顺利启动,访问swagger.html发现请求被拦截,但是我将swagger地址配置了白名单,代码如下:

package com.dsbj.dsbjfund.security.config;import com.dsbj.dsbjfund.security.component.*;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.http.HttpMethod;import org.springframework.security.config.annotation.web.builders.HttpSecurity;import org.springframework.security.config.annotation.web.configurers.AuthorizeHttpRequestsConfigurer;import org.springframework.security.config.annotation.web.configurers.ExpressionUrlAuthorizationConfigurer;import org.springframework.security.config.http.SessionCreationPolicy;import org.springframework.security.web.SecurityFilterChain;import org.springframework.security.web.authentication.UsernamePassWordAuthenticationFilter;@Configurationpublic class SecurityConfig {    @Autowired    private IgnoreUrlsConfig ignoreUrlsConfig;    @Autowired    private RestfulAccessDeniedHandler restfulAccessDeniedHandler;    @Autowired    private RestAuthenticationEntryPoint restAuthenticationEntryPoint;    @Autowired    private JwtAuthenticationTokenFilter jwtAuthenticationTokenFilter;    @Bean    SecurityFilterChain filterChain(HttpSecurity httpSecurity) throws Exception {        AuthorizeHttpRequestsConfigurer<HttpSecurity>.AuthorizationManagerRequestMatcherRegistry registry = httpSecurity.authorizeHttpRequests();        //不需要保护的资源路径允许访问        for (String url : ignoreUrlsConfig.getUrls()) {            registry.requestMatchers(url).permitAll();        }        //允许跨域请求的OPTIONS请求        registry.requestMatchers(HttpMethod.OPTIONS)                .permitAll();        // 任何请求需要身份认证        registry.and()                .authorizeHttpRequests()                .anyRequest()                .authenticated()                // 关闭跨站请求防护及不使用session                .and()                .csrf()                .disable()                .sessionManagement()                .sessionCreationPolicy(SessionCreationPolicy.STATELESS)                // 自定义权限拒绝处理类                .and()                .exceptionHandling()                .accessDeniedHandler(restfulAccessDeniedHandler)                .authenticationEntryPoint(restAuthenticationEntryPoint)                // 自定义权限拦截器JWT过滤器                .and()                .addFilterBefore(jwtAuthenticationTokenFilter, UsernamePasswordAuthenticationFilter.class);        return httpSecurity.build();    }}

暂未解决

来源地址:https://blog.csdn.net/weixin_44504514/article/details/128204858

--结束END--

本文标题: 记录SpringBoot2.7.5升级SpringBoot3.0.0问题

本文链接: https://www.lsjlt.com/news/374753.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 记录SpringBoot2.7.5升级SpringBoot3.0.0问题
    项目场景: 尝试将自己的项目升级到SpringBoot3.0.0分享下踩过的坑 问题一:启动报错 javax.servlet.http.HttpServletRequest 依赖配置好后,项目启动报错 报错内容如下: java.lang.T...
    99+
    2023-08-18
    java springboot
  • CentOS下Python升级记录(2.
    安装前确认zlib是否安装?没安装 请yum install zlib zlib-devel wget http://www.python.org/ftp/python/2.7.3/Python-2.7.3.tgz ta...
    99+
    2023-01-31
    CentOS Python
  • Maven3问题记录-1
        1、升级到maven3时,环境变量的设置 M3_HOME=D:\ProgramFiles\apache-maven-3.0.3 如果M2_HOME和M3_HOME同时存在,则报 Exception in thread "main" ...
    99+
    2023-01-31
  • 系统升级常见问题解答:解决你的升级难题
    一、系统升级前准备工作 备份数据: 在开始升级之前,请务必备份好重要数据,以防升级出现意外。 检查系统版本: 确保当前系统版本与升级版本兼容。 关闭应用程序: 在升级过程中,请关闭所有应用程序,以免干扰升级过程。 二、常...
    99+
    2024-02-05
    系统升级常见问题 系统升级解决方案 升级过程注意事项
  • NAS 问题处理记录
     在解决自动配网的过程中,突然NAS不给力,偏偏这个时间找事情。上面这两个问题,说不复杂也不复杂,主要是自己在完全远程处理,很多不方便。当然少不了师弟的助攻,很感谢我的师弟帮忙,实验室的网络不稳定,让这个过程变得复杂。废话不多说,开始解决...
    99+
    2023-09-24
    php 服务器 apache
  • vue css 相对路径导入问题级踩坑记录
    目录前提先附上成功的配置1.build/utils.js2.build/webpack.base.conf.js遇到的坑1.错误写法2.正确的写法3.如果想在“style...
    99+
    2024-04-02
  • Fedora14升级到Fedora15问题汇总
    升级操作系统可能会遇到一些问题,以下是一些可能出现的问题以及解决方案:1. 升级失败:升级过程中可能会出现意外情况导致升级失败。解决...
    99+
    2023-09-23
    Fedora
  • 关于mongodb版本升级问题
    目录一、背景二、三个重点需要注意三、环境四、下载各个版本的MongoDB包五、下面介绍如何从3.0升级到3.4总结一、背景目前公司的mongodb版本是3.0.6的老版本,公司希望将mongodb版本升级到3.6以上,那...
    99+
    2023-02-17
    mongodb版本升级 mongodb版本 升级mongodb版本
  • Android Studio Flamingo (火烈鸟) 升级踩坑记录
    由于想要验证Compose最新的debug特性,而我目前使用的版本(Dolphin 小海豚)不支持,查看官网说明需要最新版本,所以不得已进行了一下Android Studio版本升级,过程中遇到一些问题,本文仅做记录。(真是不想升级,一升级...
    99+
    2023-08-18
    android studio android gradle AGP 8.0 Flamingo
  • 【Python】记录从3.9升级到3.11踩的坑
    写在前面的话:如果想体验python3.11,不推荐生产环境升级,可以现在测试环境试试看 环境变化 原始环境 Python3.9,有挺多安装的第三方库,有自己写的类和方法,程序一切运行正常 升级...
    99+
    2023-09-21
    pandas python3.11 python ddddocr connectorx
  • 金蝶K3 12.2问题记录
    1、"定义的应用程序或对象错误" 的解决方法: 错误代码:1726(6BEH) Source :KDLogin Detail :Automation 错误 解决方法如下: 1、右...
    99+
    2023-01-31
    金蝶
  • Flutter Add to App 问题记录
    前一阵应用中接入了Flutter,使用的是官方的Multiple FlutterEngine管理方案,目前线上运行良好,这里整理一下遇到的问题。 将 Flutter 集成到现有应用整体来说没有什么问题,按照文档的说明结合demo操作就行。...
    99+
    2023-08-17
    flutter android
  • vue跳转后不记录历史记录的问题
    目录vue跳转后不记录历史记录vue-router回退不记录历史场景说明处理方案其他api跳转vue跳转后不记录历史记录 vue路由跳转一般情况下是使用push,  this.$ro...
    99+
    2024-04-02
  • 升级到Windows10常见问题解答
    1. 如何升级到Windows 10?可以通过Windows Update来升级到Windows 10。首先,确保你的计算机符合升级...
    99+
    2023-09-13
    Windows10
  • PHP7升级内容:修复undefined问题
    PHP7升级内容:修复undefined问题,需要具体代码示例 随着技术的不断发展,PHP作为一种常用的服务器端脚本语言,在Web开发领域广泛应用。PHP7作为最新版本,不仅提供了更快...
    99+
    2024-03-05
    修复 php
  • vue2老项目vite升级改造过程记录
    目录前言背景改造过程保留webpack的选项vite引入和配置vite-plugins引入require报错问题 配置完整配置结束总结前言 Vite是一种新型前端构建工具,...
    99+
    2022-12-24
    vue2老项目vite vite支持vue2吗 vue2老项目vite升级
  • vue3升级常见问题有哪些
    这篇文章主要介绍了vue3升级常见问题有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇vue3升级常见问题有哪些文章都会有所收获,下面我们一起来看看吧。Ⅰ、前言虽然 vue3 是没有删除 vue2 的 选项...
    99+
    2023-07-05
  • flink mysql cdc调试问题记录
    最近需要用到flink cdc作为数据流处理框架,在demo运行中发现一些问题,特此记录问题和解决过程。 无法读取table Caused by: java.lang.IllegalArgumentException: Can't ...
    99+
    2023-08-31
    flink 大数据
  • Oracle集群 diagwait的问题记录
    前言 对于Oracle集群,有关diagwait的解释可以很容易在网上搜到: 该问题只会出现在ORACLE 11.2 以前版本中,在 11G R2版本中,diagwait的值默认配置为13。 而针对11....
    99+
    2024-04-02
  • Android Studio升级Gradle Plugin升级导致项目运行失败问题
    背景&错误 升级Android Studio 旧项目无法运行,奇奇怪怪什么错误都有 例如: java.lang.IllegalAccessError: class org.gradle.api.int...
    99+
    2023-08-31
    android studio android gradle
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作