curl - Nexus 3 - 文件上传到托管 Maven 存储库

标签 curl nexus sonatype

我想将一些文件上传到我的 Nexus OSS 3 实例上新生成的托管 Maven 存储库。

我需要使用curl(不是maven或其他东西)来上传。

我尝试了以下语句(端口不是必需的 - 我有一个 NginX 作为反向代理)

curl -v -F r=releases -F hasPom=false -F e=jar -F g=com.my.group -F a=myArtifact -F v=1.0.0-RC1 -F p=jar --upload-file "myArtifact.jar" -u user:password123 http://myNexusInstance.com/repository/myRepository

此命令产生以下错误:

* Server auth using Basic with user 'user'
PUT /repository/myRepository HTTP/1.1
Host: myNexusInstance.com
Authorization: Basic xxxx=
User-Agent: curl/7.49.1
Accept: */*
Transfer-Encoding: chunked
Expect: 100-continue
HTTP/1.1 100 Continue
} [16380 bytes data]
HTTP/1.1 400 Invalid path for a Maven 2 repository

我尝试用谷歌搜索,但没有找到任何解决方案(无论是在 Nexus OSS 3.x 文档中还是在不同的论坛中)

Nexus 存储库使用以下配置值进行设置:

  • 格式:maven2
  • 类型:托管
  • 版本政策:发布
  • 布局政策:严格
  • 部署政策:允许重新部署(也测试过“禁用重新部署”)

这里出了什么问题?

最佳答案

您无法使用 Nexus Repository 3 中的服务 URL。要执行您尝试执行的操作,请尝试以下操作:

curl -v -u admin:admin123 --upload-file myArtifact.jar http://nexusURL:nexusPORT/repository/myRepository/com/my/group/myArtifact/1.0.0-RC1/myArtifact- 1.0.0-RC1.jar

这应该能解决问题吗?

为了更好地阅读,您可以查看以下链接,该链接解释了远程存储库布局(并希望有助于解释为什么我建议的做法有效):

https://cwiki.apache.org/confluence/display/MAVEN/Remote+repository+layout#Remoterepositorylayout-Repositoryartifactlayout

关于curl - Nexus 3 - 文件上传到托管 Maven 存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41951455/

相关文章:

linux - 如何使用 tcp-fastoption 构建 curl

windows - 在 Windows 中转义 curl 命令

Maven 内部存储库,真的有那么难吗?

maven - 您如何管理项目的依赖项(库)的许可证?

maven - 发布到 Maven Central

windows - 在 Windows 中将 sonatype nexus 作为服务安装

r - 用于 CRAN 包的 Sonatype Nexus 代理?

php - 在 Crontab 中获取包含 jQuery 帖子的网页

php - php 中的 cURL - 我有 2 个单独工作的函数,但当组合时,第二个函数输出第一个 cURL 调用的结果

java - Nexus 中的版本跟踪本地 jar