配置
setting.xml中添加如下配置,如果非admin用户,需要在Nexus中对相应的帐号设置密码
<server>
<id>releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>
命令
mvn deploy:deploy-file -DgroupId=groupId -DartifactId=artifactId -Dversion=version -Dpackaging=packaging -Dfile=deployFile -Durl=http://host:port/browse -DrepositoryId=id
- groupId,artifactId,version对应上传的文件对应的坐标
- packaging为文件类型,pom或者jar
- deployFile为要上传的文件路径,可以是相对路径,也可以是绝对路径
- host:port为maven私服的地址,也可以是域名,browse为对应的容器,一般为maven-releases(正式版本)和maven-snapshots(快照版本)
- repositoryId为上面settings.xml中的id
需要注意的是,如果当前终端的本地仓库中已经有了对应的版本,那么是无法上传的,会抛出异常信息Cannot deploy artifact from the local repository
例如:
pom文件发布到快照仓库
mvn deploy:deploy-file -DgroupId=com.aliyun -DartifactId=tea -Dversion=1.2.3-log-SNAPSHOT -Dpackaging=pom -Dfile=tea-1.2.3-log-SNAPSHOT.pom -Durl=http://host:port/repository/maven-snapshots/ -DrepositoryId=snapshots
pom文件发布到正式仓库
mvn deploy:deploy-file -DgroupId=com.aliyun -DartifactId=tea -Dversion=1.2.3 -Dpackaging=pom -Dfile=tea-1.2.3-log-SNAPSHOT.pom -Durl=http://host:port/repository/maven-releases/ -DrepositoryId=releases
jar文件发布到快照仓库
mvn deploy:deploy-file -DgroupId=com.aliyun -DartifactId=tea -Dversion=1.2.3 -Dpackaging=jar -Dfile=tea-1.2.3-log-SNAPSHOT.pom -Durl=http://host:port/repository/maven-snapshots/ -DrepositoryId=snapshots
jar文件发布到正式仓库
mvn deploy:deploy-file -DgroupId=com.aliyun -DartifactId=tea -Dversion=1.2.3 -Dpackaging=jar -Dfile=tea-1.2.3-log-SNAPSHOT.pom -Durl=http://host:port/repository/maven-releases/ -DrepositoryId=releases