Curl Nexus3-文件上载到托管的Maven存储库

Curl Nexus3-文件上载到托管的Maven存储库,curl,nexus,sonatype,Curl,Nexus,Sonatype,我想将一些文件上传到我的Nexus OSS 3实例上新生成的托管Maven存储库中 我需要使用curl(不是maven或其他东西)进行上传 我尝试了以下语句(端口不是必需的-我有一个NginX作为反向代理) 此命令产生以下错误: * Server auth using Basic with user 'user' PUT /repository/myRepository HTTP/1.1 Host: myNexusInstance.com Authorization: Basic xxxx= U

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

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

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

此命令产生以下错误:

* 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
我尝试在谷歌上搜索,但没有找到任何解决方案(无论是在NexusOSS3.x文档中,还是在不同的论坛中)

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

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

这里怎么了?

您不能使用Nexus存储库3中的服务URL。若要执行您正尝试执行的操作,请尝试以下操作:

curl-v-u admin:admin123——上传文件myArtifact.jarhttp://nexusURL:nexusPORT/repository/myRepository/com/my/group/myArtifact/1.0.0-RC1/myArtifact-1.0.0-RC1.jar

这样就行了

对于一些好的阅读,您可以查看下面的链接,该链接解释了远程存储库的布局(希望有助于解释我建议的工作原理):


否,相同的错误消息(Maven 2存储库的路径无效)。我认为--upload file调用只适用于原始存储库supdated,试一试。您是使用Nexus Repository的上下文路径,还是仅仅/?以下内容适用于Nexus 3.2.1的禁用重新部署、发布和严格布局策略
curl-v——用户用户名:密码——上传文件/path/sample.warhttp://nexus.company.com:8081/nexus/repository/myrepo/com/company/sample-app/1.0.1/sample-app-1.0.1.war
注意,我们将应用程序上下文设置为/nexus,默认情况下,在nexus 3中不存在该上下文。使用curl命令,您必须知道文件名(myArtifact-1.0.0-RC1)必须等于存储库路径的最后一部分(myArtifact/1.0.0-RC1)的连接http://nexusURL:nexusPORT/repository/myRepository/com/my/group/myArtifact/1.0.0-RC1/myArtifact-1.0.0-RC1.jar作为“变通方法”,我使用了“mvn部署:部署文件”这需要一个现有的maven安装,但可以工作。最好有一个独立于工具的上传机制。如果可以,我会使用类似Charles的工具来查看它使用的是什么端点。从那里你可以很容易地重新使用curl工具来工作。
* 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