maven deploy到nexus报错 Return code is:401错误和405错误

分类: 持续集成 |
1、nexus添加仓库
37maven-public
admin
admin123
记住仓库name
配置settings文件,添加
2、命令:
mvn deploy:deploy-file -DgroupId=org.apache.commons
-DartifactId=com.springsource.org.apache.commons.logging
-Dversion=1.1.1
-DpomFile=com.springsource.org.apache.commons.logging-1.1.1.pom
-Dfile=com.springsource.org.apache.commons.logging-1.1.1.jar
-DrepositoryId=37maven-public
-Durl=http://192.168.1.97:8081/repository/37maven-public/
执行报错:
[ERROR] Failed to execute goal
org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy-file
(default-cli) on project
com.springsource.org.apache.commons.logging: Failed to deploy
artifacts: Could not transfer artifact
org.apache.commons:com.springsource.org.apache.commons.logging:jar:1.1.1
from/to 37maven-public
(http://192.168.1.97:8081/repository/37maven-public/): Failed to
transfer file:
http://192.168.1.97:8081/repository/37maven-public/org/apache/commons/com.springsource.org.apache.commons.logging/1.1.1/com.springsource.org.apache.commons.logging-1.1.1.jar.
Return code is: 401, ReasonPhrase:
Unauthorized. -> [Help 1]
原因:
我的settings.xml有多份 ,未指定成添加了上面仓库配置的settings文件。
改正:
mvn deploy:deploy-file -DgroupId=org.apache.commons
-DartifactId=com.springsource.org.apache.commons.logging
-Dversion=1.1.1
-DpomFile=com.springsource.org.apache.commons.logging-1.1.1.pom
-Dfile=com.springsource.org.apache.commons.logging-1.1.1.jar
-DrepositoryId=37maven-public
-Durl=http://192.168.1.97:8081/repository/37maven-public/
--settings=d:\maven\conf\settings2.xml
401认证错误消失。
3、命令:
mvn deploy:deploy-file -DgroupId=org.apache.commons
-DartifactId=com.springsource.org.apache.commons.logging
-Dversion=1.1.1
-DpomFile=com.springsource.org.apache.commons.logging-1.1.1.pom
-Dfile=com.springsource.org.apache.commons.logging-1.1.1.jar
-DrepositoryId=37maven-public
-Durl=http://192.168.1.97:8081/repository/37maven-public/ --settings=d:\maven\conf\settings2.xml
错误:
org.apache.maven.lifecycle.LifecycleExecutionException: Failed
to execute goal
org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy-file
(default-cli) on project
com.springsource.org.apache.commons.logging: Failed to deploy
artifacts: Could not transfer artifact
org.apache.commons:com.springsource.org.apache.commons.logging:jar:1.1.1
from/to 37maven-public
(http://192.168.1.97:8081/repository/37maven-public/): Failed to
transfer file:
http://192.168.1.97:8081/repository/37maven-public/org/apache/commons/com.springsource.org.apache.commons.logging/1.1.1/com.springsource.org.apache.commons.logging-1.1.1.jar.
Return code is: 405, ReasonPhrase:
PUT.
怎么解决诶?
找到原因啦!
用的admin账号,然后又在Security/Roles角色中创建了个角色deployment角色给予的权限是nx-repository-admin-*-*-*
然后Users中的admin Granted里面加上这个角色。
使用命令
mvn clean deploy
--settings=D:\maven\conf\settings2.xml,终于看到了部署成功。
http://s3/mw690/001TbhKdzy7j5RcaIFQ62&690deploy到nexus报错 Return code is:401错误和405错误" TITLE="maven deploy到nexus报错 Return code is:401错误和405错误" />
注意点:
注意点:
1、settings文件中设置的<serverid>必须适合部署的pom文件中的id一致<\/div>
<div>
<div>
<distributionManagement><\/div>
<div><repository><\/div>
<div> <font
color="#FF0000">
<id>37repo<\/id><\/font><\/div>
<div>
<name>37repo<\/name><\/div>
<div>
<url>http://192.168.1.97:8081/repository/37repo/<\/url><\/div>
<div>
<\/repository><\/div>
<div><\/distributionManagement><\/div><div>2、发现创建的仓库<font
color="#ff0000">类型必须是hosted<\/font>,才可以deploy上去,否则还是405<\/div>
<\/div>
前一篇:maven仓库-nexus
后一篇:正则速查