最近维护古老的项目时,发现其pom.xml中配置的许多依赖以及不存在,或者有些依赖的坐标也有所变化,好在曾经我将这些依赖都拷贝到本地,但是由于公司的Nexus以及没人维护,于是我便自己使用Nexus3搭建了一套服务。此时就需要将这些jar上传到Nexus3中,使用命令入下:
mvn deploy:deploy-file -DgroupId=dwr -DartifactId=dwr -Dversion=3.0.0 -Dpackaging=jar -Dfile=~/Document/dwr-3.0.0.jar -Durl=http://10.10.202.157:8081/repository/maven-releases/ -DrepositoryId=nexus-releases
在上传这个jar时,提示如下错误:
Failed to transfer file: http://10.10.202.157:8081/repository/maven-releases/dwr/dwr/3.0.0/dwr-3.0.0.jar. Return code is: 401, ReasonPhrase: Unauthorized. -> [Help 1]
这个原因是我使用brew去安装和更新maven,每次更新maven时就会将原来的配置给覆盖了,导致我配置的认证信息丢失,于是为了避免以后这种情况的发生,我在~/.m2/setting.xml中配置这些信息:
<server> <id>nexus-releases</id> <username>admin</username> <password>admin123</password> </server> <server> <id>nexus-snapshots</id> <username>admin</username> <password>admin123</password> </server>
备注:在deploy命令中,repositoryId的值要与这里的id一致。
此时在执行命令便可以上传成功。