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

Java 使用maven在多个项目中查找未使用(编译范围)的JAR?,java,eclipse,maven,ant,jar,Java,Eclipse,Maven,Ant,Jar,我有一个由多个项目组成的webapp。我们使用Ant进行组装,我们怀疑/java目录中的一些JAR是不需要的 为了找到不需要的罐子,我跑过去 mvn dependency:analyze -DignoreNonCompile 获取每个项目未使用的已声明JAR的列表。但是,一个项目未使用的jar可能仍被另一个项目使用。为了检查这个,我跑了 mvn dependency:tree 获取所有项目的依赖关系结构 使用这些命令中的信息,我现在将使用一个脚本来检查jar是否存在,以便在声明它的所有项目

我有一个由多个项目组成的webapp。我们使用Ant进行组装,我们怀疑/java目录中的一些JAR是不需要的

为了找到不需要的罐子,我跑过去

mvn dependency:analyze -DignoreNonCompile
获取每个项目未使用的已声明JAR的列表。但是,一个项目未使用的jar可能仍被另一个项目使用。为了检查这个,我跑了

mvn dependency:tree 
获取所有项目的依赖关系结构

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

谢谢

但是,一个项目未使用的jar可能仍在使用 另一个

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


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

是的,这是个好主意。然而,我首先需要弄清楚我需要哪些罐子,哪些不需要。