我有一个使用Maven构建的Java应用程序,它有很多依赖项.在执行我的测试用例时,它们有时会很好地通过,有时它们会因为一些不兼容的类组合而失败.所以似乎在类路径中必须有两次随机获取的类.一个很好,另一个没有.
如果类路径中有两个包含同一类的不同版本的jar,则classpath顺序变得至关重要.
我正在寻找一种工具,可以检测和标记给定类路径或文件夹集中的此类潜在冲突.
当然是一个开始的脚本:
classes=`mktemp`
for i in `find . -name "*.jar"`
do
echo "File: $i" > $classes
jar tf $i > $classes
...
done
Run Code Online (Sandbox Code Playgroud)
有一些聪明的排序/ uniq/diff/grep/awk以后有潜力,但我想知道是否有人知道任何现有的解决方案.