今天在尝试集成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>

问题便解决了。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐