【问题标题】:mvn dependency:tree hangs trying to read repositorymvn 依赖:树挂起试图读取存储库
【发布时间】:2022-01-06 08:05:02
【问题描述】:
$ mvn --version 

Apache Maven 3.8.4 (9b656c72d54e5bacbed989b64718c159fe39b537)

Maven 主页:/home/redacted/.sdkman/candidates/maven/current

Java 版本:17.0.1,供应商:Azul Systems, Inc.,运行时:/home/redacted/.sdkman/candidates/java/17.0.1.fx-zulu

默认语言环境:en_US,平台编码:UTF-8

操作系统名称:“linux”,版本:“5.4.0-91-generic”,arch:“amd64”,家族:“unix”

运行以下命令永远不会完成,它似乎被挂起。

mvn -X dependency:tree -Dverbose

调试日志报告的最后几行:

[DEBUG] 为http://repository.tesla.io:8081/nexus/content/repositories/snapshots/ 使用优先级-1.0 的运输工具WagonTransporter

[DEBUG] 使用优先级为 0.0 的连接器 BasicRepositoryConnector 用于http://repository.tesla.io:8081/nexus/content/repositories/snapshots/

我很好奇为什么运行依赖树命令会导致 maven 尝试访问端口 8081 上的 tesla.io 存储库。

有没有办法告诉dependency:tree 跳过这个存储库(或者配置一些超时并跳过在某个指定超时限制内无法访问的所有存储库)?

我如何追踪dependency:tree 尝试从 tesla 存储库读取的原因?

【问题讨论】:

  • 在将 spring-boot-starter 从 2.5.5 升级到 2.6.1 后,我看到了完全相同的行为。
  • 我想你有一个带有适当配置的 settings.xml...
  • 对于我的情况,使用 spring-boot... 删除 -Dverbose 标志,允许依赖树完成....但我需要使用该标志还有另一个原因。
  • @khmarbaise - 不,我没有 ~/.m2/settings.xml。一切都是默认配置。我确实使用 SdkMan 安装了 maven。也许我也会标记那个项目。
  • 如果没有 settings.xml,您在哪里配置使用 tesla.io?在你的 pom 文件中?因为它看起来像一个内部存储库管理器,应该在您的 settings.xml 中配置 ....

标签: maven sdkman


【解决方案1】:

正如 SteveGreenslade 在上面的评论中提到的,以及 maven-dependency-plugin documentation

详细:

已弃用。在 2.5 中

是否在序列化的依赖树中包含省略的节点。

  • 类型:布尔值
  • 自:2.0-alpha-6
  • 必需:无用户属性:详细
  • 默认值:假

在将插件升级到 2.5 以上版本后删除 -D verbose 标志为我解决了这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-25
    • 2019-09-30
    • 1970-01-01
    • 1970-01-01
    • 2011-01-06
    • 2012-03-02
    • 1970-01-01
    • 2013-12-09
    相关资源
    最近更新 更多