Artifactory Jenkins 插件上传的 POM 文件不会在 Maven 构建中解析

POM file Uploaded by Artifactory Jenkins plugin won't resolve in Maven builds

我正在 Jenkins 中构建一个 jar 并将其上传到 Artifactory 存储库。我已经验证了存储库中存在 jar、pom 和哈希文件。当我尝试在我的机器上构建一个依赖于 jar 的项目时,它会正确下载 jar,但随后我收到 POM 文件丢失消息并且 maven 构建失败。我看不出这应该失败的任何韵律或原因,我已经在 Chrome 和 Firefox 中对 jar 和 pom 进行了 Artifactory 跟踪,响应说它找到了文件。所以我不明白是什么导致了这个问题?我们是 运行 Artifactory 5.2.1 并在周末升级到 5.5.1,但它没有任何改变。我应该看什么?

谢谢。

编辑:这个问题即将被讨论。关于设置通用 Maven 存储库和完全避免使用 Artifactory 的讨论正在进行中,因为它不会执行所需的操作。

首先,请确保您的groupId 和artifactId 是正确的。我浪费了很多时间认为这是一个 maven 问题,而实际上只是我在一个长 groupId 中颠倒了几个字母。

接下来,你试过'forcing'maven绕过它的本地缓存吗?尝试 运行 mvn -U <your tasks>

如果这不起作用,请尝试删除 ~/.m2/repository/path/to/the/artifact/with/the/missing/pom 并再次使用 mvn -U

好的,问题解决了。原来是Maven问题,不是Artifactory问题。我们的 Maven 设置包含一个代理设置,因此我们可以从 Maven Central 下载 jar - 问题是,我们的公司 url 在 nonProxyHosts 标签中配置不正确,被设置为 domain.org,而不是 *.domain.org,所以它试图通过代理检索 Maven 工件,而不是直接转到 Artifactory 服务器。我向 Artifactory 开发人员道歉,将问题归咎于 Artifactory。