我有一个由多个项目组成的web应用程序。我们使用Ant进行组装,我们怀疑/java目录中的一些jar文件是不需要的。
找到不需要的jar文件,我运行
mvn dependency:analyze -DignoreNonCompile
获取每个项目未使用的声明jar列表。然而,一个项目未使用的jar仍有可能被另一个项目使用。为了检查这一点,我运行
mvn dependency:tree
获取所有项目的依赖关系结构。
使用来自这些命令的信息,我现在将使用一个脚本来检查一个jar是否存在,以至于它在所有声明它的项目中都未使用。对于编译范围的jar来说,这是一种合理的方法吗?其他范围的罐子呢?
谢谢。
然而,有可能一个项目未使用的jar仍在使用由另一个。
我建议将所有需要的依赖声明为直接依赖,而不是依赖于可能在新版本中被删除的传递依赖。
在公共父POM的DependencyManagement部分中定义依赖项的版本,并在稍后声明依赖项时省略版本。像这样,你可以确保你在所有的项目中使用相同版本的依赖项。