【发布时间】: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
【问题讨论】: