集成nacos和feign时报错java.lang.ClassNotFoundException: org.springframework.cloud.client.loadbalancer.LoadBalancerClientsProperties
文章目录
今天在尝试集成nacos和feign时,报错:
java.lang.ClassNotFoundException: org.springframework.cloud.client.loadbalancer.LoadBalancerClientsProperties
。
通过idea的Add Maven dependency功能,发现这个类位于 spring-cloud-commons
包内。
但是通过解压所引入的spring-cloud-commons
的jar包,发现是存在该类的。
所以猜测可能是版本问题。
于是查看了nacos和spring cloud的版本。
<!-- pom.xml -->
<properties>
<java.version>1.8</java.version>
<spring.cloud.version>3.1.0</spring.cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>2021.1</version>
<exclusions>
<exclusion>
<groupId>com.netflix.ribbon</groupId>
<artifactId>ribbon</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
<version>${spring.cloud.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
<version>${spring.cloud.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-loadbalancer</artifactId>
<version>${spring.cloud.version}</version>
</dependency>
</dependencies>
nacos的版本为2021.1,对应spring-cloud-commons
的版本为3.0.1;feign的版本为3.1.0,对应spring-cloud-commons
的版本为3.1.0。能查到是显示版本冲突了。
所以把spring.cloud的版本都统一改成3.0.1:
<spring.cloud.version>3.0.1</spring.cloud.version>
问题便解决了。
文章作者 梧桐碎梦
上次更新 2022-02-16 11:35:36