通过enforcer插件定位jar包或类冲突问题
2016-12-22 10:27
357 查看
jar包或者类冲突,一般日志中出现类似于:
java.lang.NoClassDefFoundError,java.lang.NoSuchMethodError,java.lang.NoSuchFieldError,java.lang.NoSuchMethodException,java.lang.LinkageError,java.lang.ClassNotFoundException
首先在maven插件中添加enforcer插件:
然后输入maven命令来查找重复类和存在版本限制和冲突的jar包:
mvn -U clean package -Dmaven.test.skip=true enforcer:enforce -DcheckDeployRelease_skip=true
会看到相关的输出,一个个排查即可:
存在重复的类的情况:
不允许的依赖jar包或不允许的依赖版本号:
最后根据插件排查下来的信息,一个个排除掉存在冲突的jar包即可。注意如果是parent pom当中的依赖冲突,要在parent pom中修改,否则无法排除。
福利:使用idea的同学,推荐使用maven helper插件排除冲突,一目了然,很好用。
enforcer插件参考文档:
http://www.tuicool.com/articles/RfIBfa
https://github.com/dimitri-koussa/maven-enforcer-duplicate-class-check
http://www.mojohaus.org/extra-enforcer-rules/banDuplicateClasses.html
java.lang.NoClassDefFoundError,java.lang.NoSuchMethodError,java.lang.NoSuchFieldError,java.lang.NoSuchMethodException,java.lang.LinkageError,java.lang.ClassNotFoundException
首先在maven插件中添加enforcer插件:
mvn -U clean package -Dmaven.test.skip=true enforcer:enforce -DcheckDeployRelease_skip=true
会看到相关的输出,一个个排查即可:
存在重复的类的情况:
福利:使用idea的同学,推荐使用maven helper插件排除冲突,一目了然,很好用。
enforcer插件参考文档:
http://www.tuicool.com/articles/RfIBfa
https://github.com/dimitri-koussa/maven-enforcer-duplicate-class-check
http://www.mojohaus.org/extra-enforcer-rules/banDuplicateClasses.html
相关文章推荐
- 通过enforcer插件定位jar包或类冲突问题
- 通过mvn dependency:tree 查看依赖树,解决依赖jar冲突问题
- maven工具之使用dependency插件快速定位jar版本冲突的几个小技巧
- 通过maven-shade-plugin 解决Elasticsearch与spark的jar包冲突问题
- 通过mvn dependency:tree 查看依赖树,解决依赖jar冲突问题
- 通过maven-shade-plugin 解决Elasticsearch与hbase的jar包冲突问题
- 通过maven-shade-plugin 解决Elasticsearch与spark的jar包冲突问题
- 通过maven-shade-plugin 解决Elasticsearch与hbase的jar包冲突问题
- 通过maven-shade-plugin 解决Elasticsearch与hbase的jar包冲突问题
- 通过valgrind、gdb定位程序问题的几个方法小结
- 通过Eclipse插件启动Tomcat的问题
- .Net dll多个同名的程序集版本冲突共存与通过基本代码或探测定位程序集方案
- SSH整合jar包冲突问题
- 关于jquery插件冲突的问题。
- 通过Page_ClientValidate解决验证控件和confirm冲突的问题
- tomcat5的common/lib目录下jar包和WEB/lib下jar包冲突问题
- ssh 整合 jar包 冲突问题
- Eclipse插件开发引用第三方JAR包问题
- Eclipse插件开发中对于Jar包和类文件引用的处理(彻底解决插件开发中的NoClassDefFoundError问题)