项目升级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
使用了bootstrap.yml需要引入以下依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>
无法解析符号 '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
<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?
<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
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>2.0.0</version> <!--2.1.0版本有问题-->
</dependency>