mvn 如何解决find DuplicateClasses问题

时间:2024-05-31 08:05:27

今天在用maven package 命令编译项目的时候,出现了错误   find DuplicateClasses 问题,如图mvn 如何解决find DuplicateClasses问题

第一步:查看错误日志,   org.ow2.asm:asm:jar:5.2:compile和asm:asm:jar:3.1:compile 这两个包在编译的时候存在重复类(具有相同包结构和名称的类),重复类是下面的这几个类,通过上面的描述我们可以知道问题是我们引用了重复的类,我们也明白了解决方法:祛除一个重复的包引用就好。

第二步:找出这两个包的引用位置。因为不是自己直接引用,而且pom中我们引用的那么多,不可能一个一个去点开查看,因为太多,但是不用担心,maven 给我们提供了很好的解决方案:mvn denpendcy:tree  查看引用树但是我一般用mvn denpendcy:tree > tree.txt 

e.g 引用过多,git 命令窗口会打印不出那么多日志

第三步:找到包的引用位置。利用<exclusions></exclusions> 祛除

mvn 如何解决find DuplicateClasses问题

p.s:

     a.你自己pom的引用

     b.要去除的引用

第四部:编译 mvn package  编译通过