一、版本升级
spring-boot升级到3.0以上
如果依赖了springcloud,则需要升级到对应spring-boot3.0的版本,最新依赖都是可行的。
依赖了springcloudAlibaba,则参考文档选择合适的依赖:
版本依赖关系:
文档地址: https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E
mybatis-plus升级
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
<version>3.5.6</version>
</dependency>
<!--使用spring-boot3的jar, 版本可以使用更高的-->
knife4j 升级
<dependency>
<groupId>com.github.xiaoymin</groupId>
<artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
<version>4.5.0</version>
</dependency>
<!--使用jakarta的jar, 版本可以使用更高的-->
redission升级
<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson-spring-boot-starter</artifactId>
<version>3.31.0</version>
</dependency>
<!-- 版本可以使用更高的-->
hibernate-validator升级
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
<version>8.0.1.Final</version>
</dependency>
druid升级
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-3-starter</artifactId>
<version>1.2.23</version>
</dependency>
maven打包工具升级
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.13.0</version> <!--版本升级到最新-->
<configuration>
<source>${java.version}</source>
<target>${java.version}</target>
<encoding>UTF-8</encoding>
<compilerArgs>
<arg>-parameters</arg>
</compilerArgs>
</configuration>
</plugin>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>3.3.0</version> <!--版本升级到最新-->
</plugin>
<!-- 要将源码放上去,需要加入这个插件 -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-source-plugin</artifactId>
<version>3.3.1</version> <!--版本升级到最新-->
<configuration>
<attach>true</attach>
</configuration>
<executions>
<execution>
<phase>compile</phase>
<goals>
<goal>jar</goal>
</goals>
</execution>
</executions>
</plugin>
二、包变更
1.Validation类变更
需要将javax.validation.Validation 替换为 jakarta.validation.Validation
- 需要将javax包替换为jakarta
如Resource替换
- 需要将javax.annotation.Resource 替换为 jakarta.annotation.Resource
- HttpServletRequest与HttpServletResponse替换
将javax.servlet.http.HttpServletRequest
javax.servlet.http.HttpServletResponse
替换为
jakarta.servlet.http.HttpServletRequest
jakarta.servlet.http.HttpServletResponse
三、遇到问题
问题一
Name for argument of type [java.lang.String] not specified, and parameter name information not available via reflection. Ensure that the compiler uses the '-parameters' flag.
https://github.com/spring-projects/spring-boot/issues/38541#issuecomment-1827462871
解决方案:
//增加maven参数
<compilerArgs>
<arg>-parameters</arg>
</compilerArgs>
修改完后记得刷新maven依赖clean一下,在重启项目!!!