解决feign使用hystrix报错

Caused by: java.lang.NoClassDefFoundError: com/netflix/hystrix/contrib/javanica/aop/aspectj/HystrixCommandAspect

今天学习微服务springcloud时:使用熔断器Hystrix时,当使用Feign中的Hystriix时,启动项目报如下异常:

Caused by: java.lang.ClassNotFoundException: com.netflix.hystrix.contrib.javanica.aop.aspectj.HystrixCommandAspect
	at java.net.URLClassLoader.findClass(URLClassLoader.java:382) ~[na:1.8.0_211]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[na:1.8.0_211]
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) ~[na:1.8.0_211]
	at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[na:1.8.0_211]
	... 43 common frames omitted

经查阅发现,这是spring cloud 更新导致的,这里使用版本 Greenwich.SR3 ,之前有些版本是不会报错的,目前 openfeign 依赖是不具备的,

我们查阅spring-cloud-starter-openfeign中的依赖,可以发现其中集成了 feign-hystrix 依赖,而feign-hystrix包中并没有HystrixCommandAspect类,如下:

解决feign使用hystrix报错_第1张图片

解决办法

所以我们的解决办法必须手动的导入hystrix包。这里引入hystrix依赖包

<dependency>
    <groupId>org.springframework.cloudgroupId>
    <artifactId>spring-cloud-starter-netflix-hystrixartifactId>
dependency>

你可能感兴趣的:(springcloud系列,开发异常与解决)