1.首先进入http://S1:8081/nexus/index.html 登录后,进入repositories页面。
2.点击Add按钮创建一个hosted repository,id为sheismylife,name为chenshu repository,点save按钮。创建成功。
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.