1、deploy时报错401
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.8.2:deploy (default-deploy) on project riskcontrol-alone: Failed to deploy artifacts: Could not transfer artifact com.hexin:riskcontrol-alone:pom:3.0.5 from/to nexus-releases (http://nexus.fgt.com/repository/maven-releases/): Failed to transfer file http://nexus.fgt.com/repository/maven-releases/com/hexin/riskcontrol-alone/3.0.5/riskcontrol-alone-3.0.5.pom with status code 401
这个错误是认证失败导致,大概有几个原因:
settings.xml文件中的 中的配置要配置正确
<servers>
<server>
<id>local-jar</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>nexus-release</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>nexus-snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
pom.xml文件中的ID要对应
pom.xml文件中的配置:
<distributionManagement>
<repository>
<id>nexus-releases</id> #可以看到这里和settings.xml文件中的id没有一致,多了一个s
<name>Nexus Release Repository</name>
<url>http://nexus.fgt.com/repository/maven-releases/</url>
</repository>
<snapshotRepository>
<id>nexus-snapshots</id>
<name>Nexus Snapshot Repository</name>
<url>http://nexus.fgt.com/repository/maven-snapshots/</url>
</snapshotRepository>
</distributionManagement>
<repositories>
<repository>
<id>local-jar</id>
<name>Nexus</name>
<url>http://nexus.fgt.com/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
2、deploy过程中返回400
报错信息如下:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-deploy-plugin:2.8.2:deploy (default-deploy) on project riskcontrol-alone: Failed to deploy artifacts: Could not transfer artifact com.hexin:riskcontrol-alone:pom:3.0.5 from/to nexus-release (http://nexus.fgt.com/repository/maven-releases/): Failed to transfer file http://nexus.fgt.com/repository/maven-releases/com/hexin/riskcontrol-alone/3.0.5/riskcontrol-alone-3.0.5.pom with status code 400
一般返回400错误是由于mvn deploy已存在的包的时候重复上传,nexus release默认是不能重复部署的
解决办法就是修改nexus私服的release配置