spring cloud feign 启动报错 java.lang.ClassNotFoundException: org.springframework.cloud.client.loadbalan

贴一下控制台提示:

 Caused by: java.lang.NoClassDefFoundError: org/springframework/cloud/client/loadbalancer/LoadBalancedRetryFactory
	at java.lang.Class.getDeclaredMethods0(Native Method) ~[na:1.8.0_181]
	at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) ~[na:1.8.0_181]
	at java.lang.Class.getDeclaredMethods(Class.java:1975) ~[na:1.8.0_181]
	at org.springframework.util.ReflectionUtils.getDeclaredMethods(ReflectionUtils.java:641) ~[spring-core-5.0.0.RC3.jar:5.0.0.RC3]
	... 20 common frames omitted
Caused by: java.lang.ClassNotFoundException: org.springframework.cloud.client.loadbalancer.LoadBalancedRetryFactory
	at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[na:1.8.0_181]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_181]
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) ~[na:1.8.0_181]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_181]
	... 24 common frames omitted

这里提示

Caused by: java.lang.ClassNotFoundException: org.springframework.cloud.client.loadbalancer.LoadBalancedRetryFactory

这句话很重要.查了下 百度 谷歌找了下 自己去gradle的仓库看看发现没有这个依赖;然后就手动去下 发现下下来的还是不能用
,尴尬了;不啰嗦 机智的我直接再去taskfollow去找了下;有大神说这里是springCloud的版本和feign的版本不一致的问题导致的;虽然springCloud使用的是Finchley.M2 但是feign也有版本啊!!
这是我原来的依赖

compile('org.springframework.cloud:spring-cloud-starter-openfeign')

压根没有版本;默认使用springCloud的相同版本号
所以这里改一下:

compile('org.springframework.cloud:spring-cloud-starter-openfeign:2.0.0.M3')

记住这里千万不要用RELEASE 这个版本一样没有这个依赖!!!
如果你是用的maven管理的依赖这里赐你一个maven的写法 拿走不谢


			org.springframework.cloud
			spring-cloud-starter-openfeign
			2.0.0.M3

搞定收工!

你可能感兴趣的:(java)