springboot1.4.0升级2.2.6版本后遇到的问题总结SpringBoot版本从1.4.0升级为版本2.2.6
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<!--<version>1.4.0.RELEASE</version>-->
<version>2.2.6.RELEASE</version>
</parent>
SpringCloud版本升级为对应匹配Hoxton.SR4
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<!--<version>Brixton.SR3</version>-->
<version>Hoxton.SR4</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
1、Sort排序时遇到的问题 has private access in 'org.springframework.data.domain.Sort'
原因:springboot2.2.1(含)以上的版本Sort已经不能再实例化了,构造⽅法已经是私有的了!
解决⽅法:改⽤Sort.by获得Sort对象
//旧版本
query.with(new Sort(Direction.DESC, "createTime"));
//新版本
query.with(Sort.by(Direction.ASC, "createTime"));
2、不兼容的类型: sult.UpdateResult⽆法转换为db.WriteResult
解决⽅法:WriteResult 替换 UpdateResult
3、对于db.db.BasicDBObject), 不到合适的构造器
原因: mongodb中QueryBuilder中DBObject被弃⽤,改为Document构造的解决⽅式
解决⽅法:Document 替换 BasicDBObject
//旧版本springcloud和springboot
Query query = new BasicQuery(new BasicDBObject(),new BasicDBObject());
//新版本
Query query = new BasicQuery(new Document(),new Document());
4、Caused by: java.lang.ClassNotFoundException: org.apachemons.pool2.impl.GenericObjectPoolConfig
原因:缺少因commons-pool2的依赖包
解决⽅法:添加下⾯依赖
<dependency>
<groupId>org.apachemons</groupId>
<artifactId>commons-pool2</artifactId>
<version>2.0</version>
</dependency>
5、启动报错提⽰  nested exception is java.lang.NoClassDefFoundError: redis/clients/jedis/JedisPoolConfig
原因:缺少Jedis的依赖
解决⽅法:添加下⾯依赖
<!-- Spring Boot Redis依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<!-- 注意:1.4版本的依赖和2.0的依赖不⼀样,1.4名字⾥⾯没有“data”, 2.0必须是“spring-boot-starter-data-redis”-->
<!-- <artifactId>spring-boot-starter-redis</artifactId> -->
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!-- 添加jedis客户端 -->
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
</dependency>
6、org.fig.client.DiscoveryClientConfigServiceBootstrapConfiguration required a bean of type
'org.springframework.cloud.client.discovery.DiscoveryClient' that could not be found.
原因:缺少注解@EnableDiscoveryClient
@SpringBootApplication
//版本升级后添加
@EnableDiscoveryClient
@EnableEurekaClient
@EnableCircuitBreaker
@ComponentScan(basePackages =
{ "st" })
public class Application{}
7、springboot从1.3.5升级为2.2.6后@SpringApplicationConfiguration注解报错
原因:这个注解在1.4就被替换了,较新版的Spring Boot取消了@SpringApplicationConfiguration这个注解
解决⽅法:springboot1.4版本以及以后的版本,使⽤@SpringBootTest
8、Loading class `sql.jdbc.Driver'. This is deprecated. The new driver class is `sql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
原因:提⽰信息表明数据库驱动sql.jdbc.Driver'已经被弃⽤了、应当使⽤新的驱动sql.cj.jdbc.Driver'
解決⽅法:
#修改前
#driverClassName: sql.jdbc.Driver
#修改后
driverClassName: sql.cj.jdbc.Driver
9、Parameter 0 of method linkDiscoverers in org.fig.HateoasConfiguration required a single bean, but 15 were found:
原因:swagger版本不匹配
解決⽅式:
<!-- swagger依赖 -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<!--<version>2.2.2</version>-->    <!--修改前版本-->
<version>2.6.1</version>            <!--修改后版本-->
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<!--<version>2.2.2</version>-->    <!--修改前版本-->
<version>2.6.1</version>          <!--修改后版本-->
</dependency>
10、部分依赖artifactid发⽣变化的。例如⽤到eureka、ribbon等依赖的需要将依赖artifactid改成新版本对应的名称。
例如
ribbon依赖修改
#修改前
<artifactId>spring-cloud-starter-ribbon</artifactId>
#修改后
<artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
eureka依赖修改
#修改前
<artifactId>spring-cloud-starter-eureka</artifactId>
#修改后
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
hystrix依赖修改
<!-- hystrix依赖 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
#修改前
<!--<artifactId>spring-cloud-starter-hystrix</artifactId>-->
#修改后
<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependency>
Spring Security oauth2依赖添加版本号
<dependency>
<groupId>org.springframework.security.oauth</groupId>
<artifactId>spring-security-oauth2</artifactId>
<version>2.3.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.security</groupId>
<artifactId>spring-security-jwt</artifactId>
<version>1.0.10.RELEASE</version>
</dependency>
10、Caused by: java.lang.IllegalStateException: Failed to introspect Class
[com.github.pagehelper.autoconfigure.PageHelperAutoConfiguration] from ClassLoader [sun.misc.Launcher$AppClassLoader@18b4aac2]
添加下⾯的依赖
<!-- ============Mybatis的 pageHelper ============ -->
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>1.2.3</version>
</dependency>

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。