请参阅下面的指南,我正在尝试将库文件上传到Artifactory上的Maven存储库;但是,我遇到了错误。
我们已经在本地Linux服务器上安装了Artifactory,并创建了一个maven存储库来存储用于Java应用构建的库。之所以做好准备,是因为我们的环境不允许访问公共互联网和jcenter。 我们计划在Jenkins上使用maven配置构建作业,该构建作业将从Artifactory存储库中获取所有必需的库。
库文件由开发团队提供。它遵循Maven结构,因为它是从本地开发PC上的Maven导出的。
我压缩了文件,将其放在服务器上并点击以下代码。
curl -u user:password -X PUT http://[artifactory URL]/../[repository name] /tmp/src/archive.zip
预期成功将文件上传到存储库。 但是,我遇到了以下错误。
{"errors" : [ {
"status" : 403,
"message" : ""
}]
}curl: (3) <url> malformed
答案 0 :(得分:1)
我压缩了文件,将其放在服务器上并点击以下代码。
curl -u user:password -X PUT http://[artifactory URL]/../[repository name] /tmp/src/archive.zip
这里有几个问题:
/../
。只需http://[artifactory URL]/[repository name]
就可以了。PUT
指向的两个URL。显然,这不是您的意图。第二个路径是您要上传的文件。您需要在其前面加上一个-T
来指定它。X-Explode-Archive: true
或X-Explode-Archive-Atomic: true
,则可以完成此操作。所以您的通话应该类似于:
curl -u user:password -X PUT http://[artifactory URL]/[repository name] -T /tmp/src/archive.zip -H 'X-Explode-Archive: true'
答案 1 :(得分:0)
我找出了原因。原因是因为我们的版本不是Artifactory Pro。
有人告诉我它是专业版,但确认实际安装的软件是OSS版本。