springBoot2.0.3+hystrix熔断器整合 注解提示错误

最终结果报错原因是因为guava-15.0.jar的包下载错误,原因可能是我在下载过程中中断过,导致包不可用,但是也加载不到正确的包,把仓库里所有的父节点的包和自己本身多版本的号全删提再下载,一切正常,

springBoot2.0.3直接在spring-cloud-starter-netflix-hystrix 有依赖,不需要去加其它包

   下面是一步步排错的路线

spring2.0.3版本 各种包的不兼容,并且把以前的集成的包给去掉了,我们自己去整合JAR包,超级麻烦, 提示是找不到相应的包 经过各种查资料,(最后才知道是包下载不完整)

springBoot2.0.3+hystrix熔断器整合 注解提示错误_第1张图片

解决方案:pom.xml添加依赖

     
         com.netflix.hystrix
         hystrix-javanica
         RELEASE

     

关键包要自己引入 , 当然这不是重要的,并且这个包不能和下面这个包同时存在,否则一直打不到包,其实是包冲突,上面依赖已经引入这个了,再添加一次就冲突,之前在网上找了很久,一直都 没有发现问题,后来把所有的包全删了,再一个个的加上,这个实在是太坑爹了,搞了一上午,所以,只需要hystrix-javanica 依赖就可以了,

 

下面是完整的pom.xml


xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0


com.example.hystrix
hystrix
0.0.1-SNAPSHOT
jar


hystrix
Demo project for Spring Boot



org.springframework.boot
spring-boot-starter-parent
2.0.3.RELEASE





UTF-8
UTF-8
1.8
Finchley.RELEASE




     
         org.springframework.cloud
         spring-cloud-starter-netflix-eureka-server
     

 
     
         org.springframework.cloud
         spring-cloud-starter-netflix-ribbon
     

 
     
         org.springframework.cloud
         spring-cloud-starter-netflix-hystrix
     

 
     
         com.netflix.hystrix
         hystrix-javanica
         RELEASE
     

 
     
         org.springframework.boot
         spring-boot-starter-test
         test
     






org.springframework.cloud
spring-cloud-dependencies
${spring-cloud.version}
pom
import







org.springframework.boot
spring-boot-maven-plugin



 

springBoot1.5版本和2.0以后的版本相差很大,依赖的东西都作了改动,需要自己慢慢去排查问题,没有依赖的话,自己找匹配的包引入,有的是引入包已经包含在集成的包里了,这样再引入一次可能就有问题,比如 spring-cloud-starter-netflix-eureka-client这里就已经引入了rabbon 项目无需引用,但是引用也不会错,
 排查的时候,要点进去看依赖的包里包含哪些,如果有就不再引入, 包冲突和包引用问题已经折腾自己好多次了,以后排查问题也需要更加仔细,更注重方法。

启动项目后,发现报这个错误

Caused by: java.lang.ClassNotFoundException: com.google.common.collect.Lists

代码在编译的时候有时候会遇到Caused by: java.lang.ClassNotFoundException

如果在查阅完代码,发现没问题的时候,那么,有一种可能是你的此依赖包并没有下载完整。

举个场景来说,你在网络不好的时候,去编译打包,在去中央仓库拉依赖包com.google.common.*的时候,中途可能网络中断。之后,你再想重新编译打包,

但是你的本地maven库中已经有了此依赖包的不完整目录,所以便不会再重新下载此依赖包,所以你编译的时候,就会提示某个类找不到。

解决方法:

删除本地的此依赖包的目录,比如这里我删除了

/repository/com/google/guava/guava

然后重新mvn编译打包就可。

你可能感兴趣的:(springBoot2.0.3+hystrix熔断器整合 注解提示错误)