项目场景:
今天遇到一个一个问题记录一下
问题描述:
因为微信小程序调用了微信api的接口,返回的数据是加密的,所以需要后台解谜,但是引入了
<dependency>
<groupId>org.codehaus.xfire</groupId>
<artifactId>xfire-all</artifactId>
<version>1.2.4</version>
</dependency>
之前的代码就出现了下面的问题
原因分析:
依赖传递原则1、最短路径优先原则
假如引入了2个Jar包A和B,都传递依赖了Z这个Jar包:
A -> X -> Y -> Z(2.5)
B -> X -> Z(2.0)
那其实最终生效的是Z(2.0)这个版本。因为他的路径更加短。
2、最先声明优先原则
如果路径长短一样,优先选最先声明的那个。
A -> Z(3.0)
B -> Z(2.5)
扫描二维码关注公众号,回复:
12980501 查看本文章
解决方案:
讲到了这里相信大家都知道怎么做了
<dependency>
<groupId>org.codehaus.xfire</groupId>
<artifactId>xfire-all</artifactId>
<version>1.2.4</version>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId>
<artifactId>spring</artifactId>
</exclusion>
</exclusions>
</dependency>