用maven将组件公布到本地nexus 服务器
用maven将组件发布到本地nexus 服务器
Nexus除了可以作为开发部门共享的Maven仓储镜像以外,还可以用来发布自己项目的组件为项目组间的协同开发提供便利。配置的过程如下
- 首先需要设置nexus服务器成为允许通过maven远程部署。用管理员账户登录nexus服务器, 在Repostiories->Releases->Configuration中,把Deployment Policy设为Allow Redeploy. 也可以对其他其他Repository(如Snapshot)进行同样设置。
- 在Security->Users中,设deployment用户的密码(默认为deployment123)。也可以新建其他的用户。
- 修改开发机器上maven的settings.xml(需要确保settings.xml中已经使用自己的nexus server作为镜像, 添加nexus server的验证信息如下,可以
<Servers> <server> <id>Releases</id> <username>deployment</username> <password>deployment123</password> </Server> <server> <id>Snapshot</id> <username>deployment</username> <password>deployment123</password> </Server> </servers>
- 修改项目的pom.xml文件
<distributionManagement> <repository> <id>Releases</id> <name>Your Staging Repository</name> <url>http://host:port/nexus/content/repositories/releases/</url> </repository> <snapshotRepository> <id>Snapshot</id> <name>Your Snapshot Repository</name> <url>http://host:port/nexus/content/repositories/snapshot/</url> </snapshotRepository> </distributionManagement>
- 运行maven,发布项目
mvn deploy
mvn会根据pom中定义的项目版本号将项目发布到相应的Repository中,如1.0.1-SNAPSHOT会被发布到snapshot repository, 1.0.1会被发布到releases repository. 也可以用-DrepositoryId=xxxx 来指定要发布到哪个Repository