我在项目的传递依赖中遇到了版本冲突,我正试图使用
我尝试使用调试模式(
对于我拥有的任何其他仓库或代码库,这种情况都不会发生,只有一个特定的仓库会发生。但显然,我不知道这个代码库与其他代码库有什么不同,只知道依赖关系不同(假设某个依赖项是问题的原因)。
看起来官方的Maven邮件列表上的人也遇到了这个问题,但似乎他们也没有解决它:https://www.mail-archive.com/users@maven.apache.org/msg143124.html 如果有任何帮助,将不胜感激。如果我找不到原因,我将不得不一个一个删除依赖项,直到找到导致问题的那个依赖项,而这将花费很长时间,因为这是一个非常大的代码库。
Maven版本:
mvn dependency:tree -Dverbose
来查找版本冲突。然而,每当我运行mvn dependency:tree -Dverbose
时,它都会卡住,无法完成。我尝试使用调试模式(
mvn --debug dependency:tree -Dverbose
)来找出问题所在,似乎它正在连接数百个仓库,并且我没有在项目中任何地方定义这些仓库,编写跟踪文件,使用连接器、传输器等......在此处可以看到它的一小部分内容,持续了数小时: 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"
https://jcenter.bintray.com
,因为该网站已经关闭...这可能是问题所在...同时,请使用更高版本的Maven,并检查您正在使用的maven-dependency-plugin的版本。 - khmarbaise