Mavne jar包去重以及升级,[来自项目中的经历]
错误描述
因为项目中用到ActorDB所以有了以下的故事,当maven中引入多个jar包,那么避免不了会发生重复的包存在。
- 如图所示,成功的倒入了·`org.apache.thrift`
- 但是工具里面没有找到 `clearBit`,`setBit`等方法。
揭开迷雾
- 发现了存在的包竟然是MSF4J的包。
- 于是找到了解决方案代码如下:
org.wso2.msf4j
msf4j-all
2.1.0
libthrift
org.apache.thrift
- 通过这种方式进行包的摘除,(结果还不是很理想,还是有问题。)
- 于是仔细查看pom.xml文件的内容,发现了问题,怀疑Maven加载包的顺序是有优先级的(从上到下)
- 于是将 `org.apache.thrift` 放到了MSF4J包的上面。
- 成功解决问题:
总结
#查找依赖所在的地方
mvn dependency:tree -Dverbose -Dincludes=org.apache.thrift:libthrift
libthrift
org.apache.thrift