如何检测类路径中的重复 JAR?
是否有人有代码来检测类路径中的重复 JAR?
背景:当类路径中有同一JAR的两个版本时,可能会发生非常奇怪的事情。当使用 Maven:更改依赖项并构建 WAR 等工具时,甚至可能会发生这种情况,而无需先清理。由于未清理,依赖项将在那里两次。target/webapp/WEB-INF/lib
有没有这方面的安全网?
是否有人有代码来检测类路径中的重复 JAR?
背景:当类路径中有同一JAR的两个版本时,可能会发生非常奇怪的事情。当使用 Maven:更改依赖项并构建 WAR 等工具时,甚至可能会发生这种情况,而无需先清理。由于未清理,依赖项将在那里两次。target/webapp/WEB-INF/lib
有没有这方面的安全网?
JBoss Tattletale可能会帮助你做到这一点。
这是一个免费工具,可以扫描项目使用的JAR文件,并为您提供有关它们的报告。
其功能包括:
有一个Maven插件可以做到这一点:maven-duplicate-finder-plugin
[编辑]如果要自己在单元测试中执行此操作,请使用
getClass().getClassLoader().getResources( "com/pany/package/Java.class" )
如果返回多个 ,则类路径上有重复项。URL
缺点是这仅适用于过去发生冲突的情况。从积极的方面来说,它只是几行代码(或编写帮助器方法时的一行代码),它可以在生成服务器上工作。