包含“+”的工件版本的 Azure 工件发布失败

Azure Artifact Publishing Fails for Artifact Version Containing '+'

我一直在尝试将 java 模块 (jar) 的工件发布到 Azure Artifact,但收到错误 404。 调试了一段时间后,我意识到我的 semantic version 正在破坏 URL.

1.0.2-beta1+20191202

+ 表示元数据是语义版本语法的一部分。同时,他 + 打破了 Azure 创建的上传神器的 URL。

这是 Azure 创建的 URL 示例:

https://pkgs.dev.azure.com/MYCOMPANY/_packaging/test/maven/v1/com/MYCOMPANY/test/1.0.22+0110-SNAPSHOT/test-1.0.22+0110000-20102.29-1.jar'

版本中的加号导致发生 404 错误。

这似乎是一个缺失的功能,但如果有解决方法同时实际解决这个问题,我们将不胜感激。

Azure Artifact Publishing Fails for Artifact Version Containing '+'

恐怕目前solution/workaround无法解决这个问题。

如果我在 URL 中使用 + 发布工件,我会遇到同样的 404 错误。花了很长时间但没有找到任何 solution/workaround 直到我找到 this ticket:

Azure Artifacts Engineering 回复:

Due to technical limitations in our service's web stack, we cannot currently support + signs in URL paths. As such, we do not currently support SemVer build metadata (+ suffix) in some package types such as Maven.

如果我想继续使用 Azure Artifacts,我必须接受这个技术限制。

希望对您有所帮助。