项目升级java17遇到的问题与解决方案 {#项目升级java17遇到的问题与解决方案}
项目升级java17,对应框架也全部升级,SpringBoot也升级到3.x
迁移环境 {#迁移环境}
java8 ---> java17
SpringBoot ---> 3.0.2
SrpingCloud ---> 2022.0.0.0
代码修改 {#代码修改}
在idea中使用全局替换功能,选择正则表达式模式 ,以下替换内容,按顺序执行 并替换所有内容。
import javax\.websocket
替换为import jakarta.websocket
import javax\.servlet
替换为import jakarta.servlet
import io\.swagger\.annotations\.Api\;
替换为import io.swagger.v3.oas.annotations.tags.Tag;
import io\.swagger\.annotations\.ApiOperation\;
替换为import io.swagger.v3.oas.annotations.Operation;
@Api\(value = "(.*?)", tags = \{"(.*?)"\}\)
替换为@Tag(name = \"$1\", description = \"$2\")
\@ApiOperation\(value \= \"(.*?)\"\)
替换为@Operation(summary = "$1")
\@ApiOperation\(\"(.*?)\"\)
替换为@Operation(summary = "$1")
import io\.swagger\.annotations\.ApiModelProperty\;
替换为对就是空字符串
import io\.swagger\.annotations\.ApiModel\;
替换为import io.swagger.v3.oas.annotations.media.Schema;
\@ApiModelProperty\(value \= \"(.*?)\"\)
替换为@Schema(description = "$1")
\@ApiMode\(\"(.*?)\"\)
替换为@Schema(name = "$1")
问题与解决方案 {#问题与解决方案}
No spring.config.import property has been defined {#no-springconfigimport-property-has-been-defined}
使用了bootstrap.yml需要引入以下依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>
无法解析符号 'Session' {#无法解析符号-session}
<dependency>
<groupId>jakarta.websocket</groupId>
<artifactId>jakarta.websocket-client-api</artifactId>
<version>2.1.0</version>
</dependency>
Correct the classpath of your application so that it contains compatible versions of the classes com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor and net.sf.jsqlparser.schema.Column {#correct-the-classpath-of-your-application-so-that-it-contains-compatible-versions-of-the-classes-combaomidoumybatisplusextensionpluginsinnerpaginationinnerinterceptor-and-netsfjsqlparserschemacolumn}
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>2.0.0</version>
</dependency>
No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-loadbalancer? {#no-feign-client-for-loadbalancing-defined-did-you-forget-to-include-spring-cloud-starter-loadbalancer}
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-loadbalancer</artifactId>
</dependency>
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.github.pagehelper.autoconfigure.PageHelperAutoConfiguration': Bad return type {#orgspringframeworkbeansfactorybeancreationexception-error-creating-bean-with-name-comgithubpagehelperautoconfigurepagehelperautoconfiguration-bad-return-type}
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>2.0.0</version> <!--2.1.0版本有问题-->
</dependency>