如何查看哪个依赖项导致特定jar下载到maven的存储库中

时间:2017-08-09 08:34:20

标签: java maven pom.xml

我们有多模块环境,其中我们有许多使用大量依赖关系的poms。

1)如何查看导致特定jar下载到存储库的pom中的哪个依赖项。

例如:我在所有的poms中都有commons-lang3。但是一些包含在pom中的依赖是将旧罐子下载到我需要避免的仓库中。我做了 mvn dependency:tree但这对我没有帮助。 由于我的应用程序是一个庞大的应用程序,因此非常难以查看所包含的所有依赖项。

  

我们有什么方法可以检查哪个包含依赖项导致更旧   要下载的jar版本

任何能够摆脱一些亮光的人都会受到赞赏。

由于 普利文

2 个答案:

答案 0 :(得分:2)

这有点疯狂,你说得对,但我仍然经常使用:

mvn dependency:tree -Dverbose

阅读比你提到的正常更疯狂。但是,我确实同意JF Meier,将其转储到文本文件中是可行的方法。

您还可以搜索某些内容:

mvn dependency:tree -Dverbose -Dincludes=project-c

虽然我使用

,但有时候可以获得更清晰的画面
mvn clean dependency:tree -DskipTest

here解决另一个问题时得到了这些。

答案 1 :(得分:1)

  1. 如果您想知道依赖项的来源,请使用dependency:tree。我不明白为什么它没有帮助你。将结果转储到Text文件并搜索您感兴趣的工件。然后您将立即看到它们的来源。
  2. 如果要设置给定依赖项的版本,请使用<dependencyManagement>将版本设置为您喜欢的版本。
  3. 当然,本地存储库中存在依赖项,这些依赖项不是项目的依赖项,而是Maven插件的依赖项。