问题场景:A项目引入了B项目,引入依赖时没有摒弃一些冲突包导致启动A项目失败。
解决办法:报错处was loaded by前面的类(我这里是IronManager),定位到对应的包(可能会出现在两个包里,一个是项目A的,一个是项目B的;也可能只是一个项目B的),根据自己的业务摒弃其中一个,像我的只是A项目需要引入B项目的一些类和功能,所以直接摒弃项目B的就行了,(如果不确定是哪个项目的包,可以复制对应的类到另一个项目搜索)。
依赖中使用exclusions摒弃不想要引入的包
<dependency> <groupId>com.xxx.Bxxx</groupId> <artifactId>xxx</artifactId> <version>1.0.0-SHAPSHOT</version> <exclusions> <exclusion> <groupId>com.taobao.pandora</groupId> <artifactId>*</artifactId> </exclusion> <exclusion> <groupId>com.alibaba</groupId> <artifactId>xxxx</artifactId> </exclusion> <exclusion> <groupId>com.alibaba.middleware</groupId> <artifactId>*</artifactId> </exclusion> </exclusions> </dependency>
解决问题参考文章:http://t.zoukankan.com/jiliunyongjin-p-14019460.html