【发布时间】:2022-01-24 01:21:04
【问题描述】:
我的项目中的传递依赖项存在版本冲突,我正在尝试使用mvn dependency:tree -Dverbose 来查找版本冲突。但是,每当我运行mvn dependency:tree -Dverbose 时,它就会挂起并且永远不会结束。
我尝试使用调试模式 (mvn --debug dependency:tree -Dverbose) 来了解发生了什么,它似乎连接到数百个存储库,我在项目的任何地方都没有定义,编写跟踪文件,使用连接器,使用传输器等等......请参阅此处的 pastebin,了解它在几个小时内所做的事情的一个小 sn-p:https://pastebin.com/raw/L3z4u5Hj
当我不包含 -Dverbose 标志时,不会发生这种情况:mvn dependency:tree 本身非常快速,并且在几秒钟内完成。
此外,这不会发生在我拥有的任何其他存储库或代码库中:只有一个特定的。但显然我不知道这个代码库与其他代码库有什么不同,只是依赖关系不同(假设某些依赖关系是问题的原因。)
maven 官方邮件列表上的人似乎也遇到了这个问题,但似乎他们也永远无法解决它:https://www.mail-archive.com/users@maven.apache.org/msg143124.html
任何帮助将不胜感激。如果我无法弄清楚这一点,我将不得不一一移除依赖项,直到找到导致问题的那个,这将需要很长时间,因为这是一个非常大的代码库。
maven 版本:
Apache Maven 3.6.0
Maven home: /usr/share/maven
Java version: 11.0.10, vendor: Ubuntu, runtime: /usr/lib/jvm/java-11-openjdk-amd64
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.15.0-54-generic", arch: "amd64", family: "unix"
【问题讨论】:
-
如果您可以创建一个可以公开共享的项目版本来显示问题(也许删除源代码),那么它就是一个可以提交给 Maven 开发人员的实际测试用例。
-
检查你使用
https://jcenter.bintray.com的 pom 文件,因为它已被关闭......这可能是问题......也使用更多最新版本的 Maven 并检查哪个版本您正在使用的 maven-dependency-plugin?
标签: maven maven-3 maven-dependency-plugin