maven - 如何使用 REST API 将多个库上传到 Artifactory 存储库?
问题描述
参考下面的指南,我正在尝试将库文件上传到 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
解决方案
我压缩了文件,放在服务器上并点击下面的代码。
curl -u user:password -X PUT http://[artifactory URL]/../[repository name] /tmp/src/archive.zip
这里有几个问题:
- 正如错误所示,您的 URL 格式错误。不应该有
/../
. 应该http://[artifactory URL]/[repository name]
没问题。 - 你给 curl 两个裸路径,它解释为它应该
PUT
的两个 URL。很明显,这不是您的意图。第二个路径是您要上传的文件。您需要通过在它前面加上 a 来指定它-T
。 - 此调用只会将 zip 文件上传到存储库的根目录,但您希望它改为提取内容。如您链接的文档所述,如果您传递标头
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'
推荐阅读
- javascript - 无法读取 null 的属性(读取“拆分”)。迅速的
- javascript - 如何在Javascript中添加具有特定标题名称和内容的新列
- react-native - 等待 onSnapshot 获取数据
- c++ - 导入的静态库中未定义的引用
- javascript - NPM 是否允许一个依赖项的多个版本?
- python - 如何知道多处理中剩余输入项的数量?
- python - 将数组dict转换为json
- c++ - 为什么此代码在 repl.it 中有效,但在 Visual Studio 中无效
- lambda - Java流:转List
进入列表 - >
- c - 使用C中的while循环对数字的所有数字求和