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 

最后感谢鹏哥

 
posted @ 2022-05-24 17:35  雨下_整夜  阅读(409)  评论(0)    收藏  举报