前几天在学习使用hystrix的时候,发现在POM文件中引入
spring-cloud-starter-netflix-hystrix包之后,通过查看器发现存在冲突,具体情况如下图:
我的开发环境情况如下:
JDK1.8
springboot 2.4.2
springcloud 2020.0.1
通过更换了hystrix多个版本进行尝试,但是依然存在冲突飙红的情况,版本从2.0.1到2.2.9.RELEASE,都还是不行。
可以通过mvn dependency:tree查看冲突的情况,发现其他jar中已经存在相同的工具包。
实在无法解决,最后只能抽丝剥茧,将冲突的包手动排除
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
<version>2.0.1.RELEASE</version>
<exclusions>
<exclusion>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</exclusion>
<exclusion>
<groupId>com.google.code.findbugs</groupId>
<artifactId>jsr305</artifactId>
</exclusion>
<exclusion>
<groupId>com.netflix.archaius</groupId>
<artifactId>archaius-core</artifactId>
</exclusion>
</exclusions>
</dependency>
通过exclusions标签,将多个需要exclusion排除的外部引用包剔除,防止跟其他的原生包控件存在冲突。
添加了exclusions标签将冲突的包剔除后,发现已经不存在冲突的情况了,问题完美解决。
感谢您的关注,期待您的评论。