如何在Maven反应器构建中找到未使用的依赖项?

时间:2015-05-18 08:20:09

标签: maven dependencies

我正在与mvn dependency:analyze挣扎。我无法让插件与反应堆构建一起工作。我没有递归地构建已使用的依赖项列表,而是看到每个模块未使用的依赖项,这是非常无用的。假设我有两个模块AB,其中B取决于AA取决于commons-email

依赖插件告诉我commons-emailB的“未使用的声明依赖”,我不明白:B的POM中没有提到依赖关系它在A中使用,所以无论我如何看待它都是错误的。另外,我没有收到A的此消息,因此插件知道A正在使用依赖项。

最重要的是,我得到了大量“未使用的未声明的依赖项” - 每个传递依赖项都有一个警告。

有没有办法配置依赖插件来提供一些有用的信息?如果没有,是否有可以计算所有可到达进口的“凸包”的替代品?

1 个答案:

答案 0 :(得分:3)

关于未使用的声明依赖项,您可能会从父pom继承它。

关于传递依赖关系的已使用未声明的依赖关系:如果直接从模块中的传递依赖关系引用任何类 - 例如在导入中 - 然后模块应该声明直接依赖,即使已经存在传递依赖。  提供所有版本的版本 在父pom中使用依赖关系管理所有依赖关系,而不是在所有模块中反复声明版本。