上传资源到私服
当项目完成后如果需要deploy 部署jar 包到私服,则可以添加如下配置:
1、在项目的 pom.xml 文件中添加上传部署的路径;
注意:如果需要对 releases版本进行多次部署,需要在私服中对 releases 仓库的 Configuration——》 Development Policy 设置“Allow Redeploy”
在maven的settings.xml添加server配置,添加上传构建到nexus 的帐号和密码。
1 <server> 2 <!-- 发布的位置在POM中配置,以ID为关联,有很多公用的信息需要配置在POM文件里,最佳实践是定义一个公司级别的root pom --> 3 <id>releases</id> 4 <username>admin</username> 5 <password>admin123</password> 6 </server> 7 <server> 8 <id>snapshots</id> 9 <username>deployment</username> 10 <password>deployment123</password> 11 </server>
例如:将sm1234-service模块的代码上传到私服进行共享,再pom.xml中添加
1 <!-- 上传资源到nexus私服 --> 2 <!-- 发布管理 --> 3 <distributionManagement> 4 <repository> 5 <id>releases</id> 6 <name>Internal Releases</name> 7 <url>http://localhost:8081/nexus/content/repositories/releases/</url> 8 </repository> 9 <snapshotRepository> 10 <id>snapshots</id> 11 <name>Internal Releases</name> 12 <url>http://localhost:8081/nexus/content/repositories/snapshots/</url> 13 </snapshotRepository> 14 </distributionManagement>
说明:<id></id>中的内容要和宿主仓库中的Repository ID一致,name标签为自定义内容,url为Releases仓库中的地址。
接下来,我们需要考虑什么情况下上传到Releases仓库?什么时候上传到Snapshots仓库呢?
其实pom.xml中的version标签中的版本已经指明了。
1 <modelVersion>4.0.0</modelVersion> 2 <groupId>cn.sm1234</groupId> 3 <artifactId>sm1234-service</artifactId> 4 <version>0.0.1-SNAPSHOT</version> 5 <description>这是一个service模块</description>
若version为0.0.1-SNAPSHOT则上传到Snapshots仓库,若version为0.0.1-RELEASE,则上传到Releases仓库。
接下来进行上传操作。
我们使用的是deploy指令操作:打开Maven build...
输入deploy
Run运行。控制台查看结果:
刷新宿主仓库,
此时,可以看到项目已经上传成功。
如果想上传到RELEASE仓库,需要修改version
1 <modelVersion>4.0.0</modelVersion> 2 <groupId>cn.sm1234</groupId> 3 <artifactId>sm1234-service</artifactId> 4 <version>0.0.1-RELEASE</version> 5 <description>这是一个service模块</description>
接下来重复之前的步骤,deploy即可。