需求

企业中多个团队协作开发通常会将一些公用的组件、开发模块等发布到私服供其它团队或模块开发人员使用。

本例子假设多团队分别开发 ssm_dao、ssm_service、ssm_web,某个团队开发完在ssm_dao 会将 ssm_dao 发布到私服供 ssm_service 团队使用,本例子会将 ssm_dao 工程打成jar 包发布到私服。

快速学习Maven-将项目发布到私服_Nexus

配置

第一步​:需要在客户端即部署 ssm_dao 工程的电脑上配置 maven环境,并修改 settings.xml文件,配置连接私服的用户和密码 。

此用户名和密码用于私服校验,因为私服需要知道上传的账号和密码是否和私服中的账号和密码一致。

<server>
<id>releases</id>
<username>admin</username>
<password>admin123</password>
</server>
<server>
<id>snapshots</id>
<username>admin</username>
<password>admin123</password>
</server>

  • releases 连接发布版本项目仓库
  • snapshots 连接测试版本项目仓库

快速学习Maven-将项目发布到私服_将项目发布到私服_02

第二步​: 配置项目 pom.xml

配置私服仓库的地址,本公司的自己的 jar 包会上传到私服的宿主仓库,根据工程的版本号决定上传到哪个宿主仓库,如果版本为 release 则上传到私服的 release 仓库,如果版本为snapshot 则上传到私服的 snapshot 仓库

快速学习Maven-将项目发布到私服_上传_03


注意:pom.xml 这里 和 settings.xml 配置 对应!


测试

将项目 dao 工程打成 jar 包发布到私服:


  1. 首先启动 nexus
  2. 对 ssm_dao 工程执行 deploy 命令

快速学习Maven-将项目发布到私服_上传_04

根据本项目pom.xml中version定义决定发布到哪个仓库,如果version定义为snapshot,执行 deploy后查看 nexus 的 snapshot仓库,如果 version定义为 release则项目将发布到 nexus的 release 仓库,本项目将发布到 snapshot 仓库:

快速学习Maven-将项目发布到私服_maven_05

也可以通过 http 方式查看:

快速学习Maven-将项目发布到私服_将项目发布到私服_06