贴一下控制台提示:
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的写法 拿走不谢
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-openfeign</artifactId>
<version>2.0.0.M3</version>
</dependency>
搞定收工!