我想我已经遇到了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错误。 如果开发人员最终说这不是一个错误,我会在没有打败我的情况下将其添加为答案。
答案 0 :(得分:1)
您还需要另外指定-DrepositoryId