Maven 命令方式上传构件到maven私服
以下maven私服使用到的是Nexus
背景知识铺垫
1.Nexus仓库分为:group(仓库组)、hosted(宿主仓库)、proxy(代理仓库)以及 virtual(虚拟仓库)。
2.其中group不能上传构件,hosted可以上传构件。
3.一般来说,公司会有Release和Snapshot两种策略的hosted仓库。构件中<version></version>带有snapshot的不能上传到Release策略的hosted库,同理,反过来也不行。
4.用命令上传构件的方式,不能直接将本地maven仓库中的构件上传到maven私服(会报400错误),需将要上传的构件复制到其它位置再使用命令上传。
5.当jar包之间存在依赖关系时,还需要将pom文件一并上传。
上传步骤
1.修改settings.xml文件
<settings> <servers> <server> <id>my-repo-id</id> <username>my-username</username> <password>my-password</password> </server> </servers> <settings>
2.使用mvn deploy:deploy-file 命令上传构件
使用此方式,可以上传单独的一个构件,不需要依赖于某个项目。使用此方式上传构件是坑最多的一个方式,但是有时候只能使用此方式上传构件。
按下win+R,输入cmd,使用以下命令上传对应的构件,前提是本地已经安装maven并且配置好maven环境变量
(不会安装maven和配置环境变量的朋友猛击此链接 《Maven - 雨下_整夜 - 博客园 (cnblogs.com)》)。
上传jar包的命令
mvn deploy:deploy-file -Durl=https://my-nexus-repo-address.com -Dfile=my-java-artifact.jar -DgroupId=xx.example -DartifactId=my-java-artifact -Dpackaging=jar -Dversion=x.x.x -DrepositoryId=my-repo-id
上传pom文件的命令
mvn deploy:deploy-file -Durl=https://my-nexus-repo-address.com -Dfile=my-pom-artifact.pom -DgroupId=xx.example -DartifactId=my-pom-artifact -Dpackaging=pom -Dversion=x.x.x -DrepositoryId=my-repo-id
参考文章:https://rodolfombc.medium.com/deploying-java-artifacts-on-a-nexus-repository-with-maven-939a80406acf
2022/05/24
最后感谢鹏哥

浙公网安备 33010602011771号