【问题标题】:mvn dependency:tree -Dverbose hangs and never finishesmvn 依赖项:tree -Dverbose 挂起并且永远不会完成
【发布时间】: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


【解决方案1】:

可以使用https://start.spring.io/ 创建的演示项目重新创建此问题,并选择没有任何其他依赖项的 Spring Boot 版本 2.6.0 或更高版本。 2.5.9 版不会发生这种情况

【讨论】:

  • spring-boot的问题可以通过用spring-boot BOM替换父元素来解决
【解决方案2】:

当我们使用 maven-dependency-plugin:3.2.0 版本时会发生这种情况。我使用 3.1.2 版本进行了测试,依赖关系树像往常一样快速构建。 顺便说一句.. spring-boot-dependencies >= 2.6.0 正在使用 maven-dependency-plugin:3.2.0 所以要小心。

【讨论】:

    猜你喜欢
    • 2018-09-27
    • 2018-06-26
    • 1970-01-01
    • 1970-01-01
    • 2021-11-17
    • 2012-10-31
    • 2015-12-20
    • 2022-08-23
    • 1970-01-01
    相关资源
    最近更新 更多