maven deploy到nexus報錯:Return code is: 401, ReasonPhrase:Unauthorized
提交到nexus時候報錯:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy (default-deploy) on project *: Failed to deploy artifacts: Could
not transfer artifact *:jar:1.0 from/to releases (http://10.1.81.199:8081/nexus/content/repositories/releases/): Failed to transfer file: http://10.1.81.199:8081/nexus/content/repositories/releases/com/cs2c/security-management-client
原來是沒有配置認證。
maven目錄conf的setting.xml裡,
<server> <id>releases</id> <username>admin</username> <password>admin123</password> </server> <server> <id>snapshots</id> <username>admin</username> <password>admin123</password> </server> </servers>
使用者名稱和密碼都是nexus的。再次deploy即可。
注意這裡的id要和pom.xml裡遠端deploy的地址對應一致,我的pom.xml裡配置:
<!-- 配置遠端釋出到私服,mvn deploy --> <distributionManagement> <repository> <id>releases</id> <name>Nexus Release Repository</name> <url>http://10.1.81.199:8081/nexus/content/repositories/releases/</url> </repository> <snapshotRepository> <id>snapshots</id> <name>Nexus Snapshot Repository</name> <url>http://10.1.81.199:8081/nexus/content/repositories/snapshots/</url> </snapshotRepository> </distributionManagement>
如果這裡不配置,會報錯:
報錯:Failed to execute
goal org.apache.maven.plugins:maven-deploy-plugin:2.5:deploy (default-deploy) on project git-demo: Deployment failed: repository element was not specified in the POM inside distributionManagement element or in -DaltDeploymentRepository=id::layout::url parameter