确定项目实际需要哪些罐子

时间:2011-03-23 13:15:23

标签: java dependency-management

我继承了一个项目(非mavenized),其中包含lib个文件夹,其中包含大约45 .jar个文件夹。

我非常确定并非所有这些罐子都是必需的。

我是否有办法从项目来源确定哪些jar确实是必需的,哪些没有增值,可以安全删除?

理想情况下,我想识别“直接”依赖关系(即非传递性),因此我可以将它们提取到pom

4 个答案:

答案 0 :(得分:4)

检查这个可爱的项目

http://www.jboss.org/tattletale

答案 1 :(得分:2)

只需创建直接依赖于所有包含的JAR的POM,然后运行mvn dependency:analyze

这应该报告源不直接访问的依赖项。然后删除那些。

答案 2 :(得分:0)

您可以尝试删除jar(从构建路径中),然后进行全新安装并查看项目是否编译。如果是这样,删除的jar不应该是直接依赖。

答案 3 :(得分:0)

您可以尝试在Eclipse之类的IDE中将其设置为项目而不导入jar,然后在IDE标记所有编译器错误时,导入相关的jar。

你应该留下不必要的未加入的。

这可能是一个冗长的方法,但我担心我不知道是否有更好的方法。