使用maven在多个项目中查找未使用的(编译范围的)jar



我有一个由多个项目组成的web应用程序。我们使用Ant进行组装,我们怀疑/java目录中的一些jar文件是不需要的。

找到不需要的jar文件,我运行

mvn dependency:analyze -DignoreNonCompile

获取每个项目未使用的声明jar列表。然而,一个项目未使用的jar仍有可能被另一个项目使用。为了检查这一点,我运行

mvn dependency:tree 

获取所有项目的依赖关系结构。

使用来自这些命令的信息,我现在将使用一个脚本来检查一个jar是否存在,以至于它在所有声明它的项目中都未使用。对于编译范围的jar来说,这是一种合理的方法吗?其他范围的罐子呢?

谢谢。

然而,有可能一个项目未使用的jar仍在使用由另一个。

我建议将所有需要的依赖声明为直接依赖,而不是依赖于可能在新版本中被删除的传递依赖。

在公共父POM的DependencyManagement部分中定义依赖项的版本,并在稍后声明依赖项时省略版本。像这样,你可以确保你在所有的项目中使用相同版本的依赖项。

最新更新