如何使用maven将任意二进制文件部署到Nexus

时间:2012-08-29 22:39:21

标签: maven nexus

我想我已经遇到了maven deploy plugin bug,但是我想确认在我打开错误报告并开始浏览源代码之前我没有做错。

我正在尝试将任意二进制文件(tar.gz,jar,box等)部署到maven存储库。 我使用的用户在settings.xml文件中,带有明文密码。 用户位于通过角色连接到nexus的LDAP组中。

该角色有3个与之关联的权限。更新,创建,读取又与存储库目标相关联。

现在使用wget,用户可以从repo中提取数据,并使用此curl命令我可以部署到repo:

curl --request PUT --user USERNAME:PASSWORD https://NEXUS_URL/nexus/content/repositories/REPO_NAME/path/to/file/with/groupid/version/iamafile.jar \
--data @./iamafile.jar  -H Content-Type:application/java-archive --verbose

这很好用,http 201并添加了文件。当我使用类似的mvn deploy命令时:

mvn deploy:deploy-file --settings /path/to/settings.xml \
-Durl=https://NEXUS_URL/nexus/content/repositories/REPOSITORYID -Dfile=iamafile.jar \
-DrepositoryId=REPOSITORYID -DartifactId=ARTIFACTID -DgroupId=GROUPID \
-Dversion=VERSION

我收到了http 401未经授权的错误。

multiple bug报道此事,但据说已经修复了。 对于版本,artifcatId等具有相同值的pom文件,mvn deploy可以正常工作。

我发现了一个错误,还是我使用不当?

编辑:

我打开了有关此问题的this错误。 如果开发人员最终说这不是一个错误,我会在没有打败我的情况下将其添加为答案。

1 个答案:

答案 0 :(得分:1)

您还需要另外指定-DrepositoryId