概述
在多模块开发中,如果使用的IDE是Eclipse,并且模块中需要相互依赖,那么就需要借助私服来打包发布。
1、 发布仓库配置
修改pom.xml
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<distributionManagement> <repository> <id>nexus-releases</id> <name>Nexus Release Repository</name> <url>http://192.168.0.140:8081/repository/maven-releases/</url> </repository> <snapshotRepository> <id>nexus-snapshots</id> <name>Nexus Snapshot Repository</name> <url>http://192.168.0.140:8081/repository/maven-snapshots/</url> </snapshotRepository> </distributionManagement> |
2、 部署专用账号的配置
但是nexus仓库对于普通的匿名用户是只读的,也就是说,只能下载依赖,不能部署发布包,因此如果要能够部署发布包,还需要在 settings.xml
文件里通过 <servers>
元素配置使用专用的部署用户,来通过认证,进行发布包的部署。
需要在 $M2_HOME/conf/settings.xml
中配置:
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<servers> <server> <id>nexus-releases</id> <username>deployment</username> <password>deployment123</password> </server> <server> <id>nexus-snapshots</id> <username>deployment</username> <password>deployment123</password> </server> </servers> |
3、 执行Maven deploy命令部署到私服
执行 mvn clean deploy
命令,就可以让maven自动给我们编译源代码、运行单元测试、打成jar包、将jar包安装到本地仓库、将Jar包部署到配置的远程私服仓库里面去。
是这样的,在私服上面,如果上传snapshot版本的jar包呢,在私服上存储的时候,会自动带上一个时间戳。这个主要是因为考虑到在开发过程中会频繁的部署snapshot包,所以会用时间戳来区分一下。但是这个对我们是透明的,如果我们团队里其他哥儿们要用你的这个snapshot jar包,直接还是用你的坐标来声明依赖就可以了,他是不用去考虑这个时间戳的问题的,私服会替你管理好。
原创文章,转载请注明: 转载自LoserZhao – 诗和远方[ http://www.loserzhao.com/ ]
本文链接地址: http://www.loserzhao.com/bigdata/maintenance/maven-package-push-to-nexus-repository.html
文章的脚注信息由WordPress的wp-posturl插件自动生成
0 条评论。