【问题标题】:new eclipse version fails to deploy jar to Nexus repo with 401 unauthorized新的 Eclipse 版本无法将 jar 部署到 Nexus 存储库,401 未经授权
【发布时间】:2022-01-27 08:10:13
【问题描述】:

我最近开始使用 eclipse 2021-12。当我尝试将 jar 部署到我们的 Nexus 存储库时,它失败了,原因是“无法部署工件:无法传输工件...”、“访问被拒绝...”和“错误代码 401,未经授权”。我和我的 DevOps 团队仔细检查了所有设置,一切看起来都很好(我们确认 settings.xml 中的凭据是正确的)。

我尝试使用 eclipse 2021-06 部署相同的 jar...它成功了!我检查了两个版本之间的所有 Java 和 Maven 设置,一切似乎都完全相同。我使用 -X maven 命令从两个版本的 eclipse 重新部署了 jar 以获取详细信息,我发现以下内容:

成功部署的 maven 输出如下:

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

[DEBUG] 使用优先级为 0.0 的连接器 BasicRepositoryConnector 用于 http://nexus:8086/nexus/content/repositories/snapshots/,用户名=bla,密码=***

在失败的部署中的同一位置如下:

[DEBUG] 使用优先级为 100.0 的连接器 AetherRepositoryConnector 用于 http://nexus:8086/nexus/content/repositories/snapshots/,用户名=bla,密码=***

上述差异可能是 eclipse 版本之间行为不同的根本原因,我想尝试使用 AetherRepositoryConnector 的替代方法来确认...但我一直无法找出如何做到这一点,并认为我会在这里发布问题。有谁知道这个配置存在哪里,和/或如何在 Eclipse 中为 Maven 使用备用传输器/存储库连接器?或者这是 2021-12 年的错误?还是有一些新的/额外的设置可以让它工作?

更多信息:
项目(包括 POM)在两者中都是相同的(从 SVN 存储库中提取)
两个 Eclipse 安装:

  • 使用 Amazon Corretto v11.0.13_8 进行构建
  • 指向外部 Maven 安装 v3.8.1。 Eclipse 指出嵌入式运行时用于依赖关系解析。两者都使用内部 3.8.1,但实际的 JAR 略有不同。
  • 使用相同的 settings.xml

【问题讨论】:

    标签: java eclipse maven nexus


    【解决方案1】:

    终于找到了解决方案——事实证明,我并没有指向较新版本的 eclipse 中的外部 Maven 部署,而是指向嵌入式部署。一旦我进行了更正,我就可以部署 jar。

    【讨论】:

    • 你发现为什么不使用嵌入式 maven 了吗?
    猜你喜欢
    • 2020-08-15
    • 2013-11-19
    • 2013-05-01
    • 1970-01-01
    • 2017-12-24
    • 1970-01-01
    • 2013-08-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多