将Maven项目发布到Nexus私服

时间:2021-10-03 09:07:28

1.首先进入http://S1:8081/nexus/index.html 登录后,进入repositories页面。

2.点击Add按钮创建一个hosted repository,id为sheismylife,name为chenshu repository,点save按钮。创建成功。

将Maven项目发布到Nexus私服

3.如果有一个项目要发布,可以手动在网页上upload,也可通过mvn deploy命令部署。如果是后者:

修改pom.xml文件

  <distributionManagement>    <repository>
<id>sheismylife</id>
<url>http://S1:8081/nexus/content/repositories/sheismylife</url>
</repository>
</distributionManagement>

4.在Nexus私服的网页上,找到Security->Users,找到deployment,右键点击后,选择set password,设置你的密码。

同时到chenshu repository中config页面,允许redeploy.

5.回到开发机器上,在~/.m2/settings.xml中加上一段配置

  <servers>    <server>      <id>sheismylife</id>      <username>deployment</username>      <password>your_pwd</password>    </server>  </servers>


123456就是第4步设置的密码。

注意,如果需要通过Jenkins部署的话,上面这段配置也需要加在Jenkins server的settings.xml文件中。

到这里,Nexus以及Maven的报错信息非常不友好。注意这里有几个基本要求:

1.repository的release模式要支持redeploy

2.settings.xml中的settings.servers.server.id和pom.xml中的distributionManagement.repository.id的值必须相等

3.deployment用户密码最好修改

4.要确保这个repository被加入到Public Repositories中。在Repositories列表中单选第一个Public Repositories后,下方会出现两个列表框,将位于右边的自己的repository拖拽到左边,然后保存即可。

如果一个细节弄错,比如我刚才少了一个servers,mvn竟然没有错误提示。

5.当实在找不出部署失败的原因时(mvn deploy给的出错信息通常不足),可以在Nexus私服网页上手动部署,经常能够得到明确的错误信息,便于解决问题。

6.注意,不要将snapshot版本部署在release仓库里面,你会失败的。修正方式最简单的是将pom.xml中的版本号改为1.0.