MAVEN发布固定版本(不需要更改pom更新依赖的方法)
博客分类: 企业架构
maven .
接触Maven有几年时间了,不得不说,它是个好东西,一旦接触之后就有种爱不释手的感觉。
最近在开发中遇到一个疑问,开发阶段的依赖中往往更改一小丁点东西都需要升级版本发布,十分繁琐。
对此查了很多资料,国内的资料十分有限,看来国内还很少有朋友遇到这个问题,大家应该都是使用升级版本更新依赖的方式。
上了官网查查资料,还真有解决方案。
首先要分清楚Snapshot和Release的区别
maven中的仓库分为两种,snapshot快照仓库和release发布仓库。snapshot快照仓库用于保存开发过程中的不稳定版本,release正式仓库则是用来保存稳定的发行版本。定义一个组件/模块为快照版本,只需要在pom文件中在该模块的版本号后加上-SNAPSHOT即可(注意这里必须是大写),
如
Java代码 复制代码 收藏代码
1.<groupId>org.quinn</groupId>
2. <artifactId>accounts</artifactId>
3. <version>0.0.1-SNAPSHOT</version>
4. <packaging>jar</packaging>
修改setting.xml的发布部分如下设置
Java代码 复制代码 收藏代码
1.<profile>
2. <id>dev</id>
3.
4. <repositories>
5.
6. <repository>
7.
8. <id>nexus</id>
9.
10. <url>http://ip:8081/nexus/content/groups/public</url>
11.
12. <releases>
13.
14. <enabled>true</enabled>
15.
16. </releases>
17.
18. <snapshots>
19.
20. <enabled>true</enabled>
21. <updatePolicy>always</updatePolicy>
22. <checksumPolicy>warn</checksumPolicy>
23.
24. </snapshots>
25.
26. </repository>
27.
28. </repositories>
29.
30. <pluginRepositories>
31.
32. <pluginRepository>
33.
34. <id>nexus</id>
35.
36. <url>http://ip:8081/nexus/content/groups/public</url>
37.
38. <releases>
39.
40. <enabled>true</enabled>
41.
42. </releases>
43.
44. <snapshots>
45.
46. <enabled>true</enabled>
47. <updatePolicy>always</updatePolicy>
48. <checksumPolicy>warn</checksumPolicy>
49.
50. </snapshots>
51.
52. </pluginRepository>
53.
54. </pluginRepositories>
55.
56. </profile>
可以看到我在snapshot下面加了如下设置
Java代码 复制代码 收藏代码
1.<enabled>true</enabled>
2. <updatePolicy>always</updatePolicy>
3. <checksumPolicy>warn</checksumPolicy>
看下maven官方对这个属性做出的解释,重点就是updatePolicy属性
enabled设置为true
updatePolicy更新snapshot包的频率,属性有四个值always(实时更新) daily(每天更新) interval:xxx(隔xxx分钟更新一次) never(从不更新) 默认为daily
checksumPolicy为warn
如果是使用eclipse开发,集成了maven插件的,还需要做如下事情。
Window>Preferences>Maven>User Settings>Update Settings
完成以上操作可完成无需更改版本发布,依赖方也不需要更改pom,只需执行一下mvn clean install 即可完成依赖更新
博客分类: 企业架构
maven .
接触Maven有几年时间了,不得不说,它是个好东西,一旦接触之后就有种爱不释手的感觉。
最近在开发中遇到一个疑问,开发阶段的依赖中往往更改一小丁点东西都需要升级版本发布,十分繁琐。
对此查了很多资料,国内的资料十分有限,看来国内还很少有朋友遇到这个问题,大家应该都是使用升级版本更新依赖的方式。
上了官网查查资料,还真有解决方案。
首先要分清楚Snapshot和Release的区别
maven中的仓库分为两种,snapshot快照仓库和release发布仓库。snapshot快照仓库用于保存开发过程中的不稳定版本,release正式仓库则是用来保存稳定的发行版本。定义一个组件/模块为快照版本,只需要在pom文件中在该模块的版本号后加上-SNAPSHOT即可(注意这里必须是大写),
如
Java代码 复制代码 收藏代码
1.<groupId>org.quinn</groupId>
2. <artifactId>accounts</artifactId>
3. <version>0.0.1-SNAPSHOT</version>
4. <packaging>jar</packaging>
修改setting.xml的发布部分如下设置
Java代码 复制代码 收藏代码
1.<profile>
2. <id>dev</id>
3.
4. <repositories>
5.
6. <repository>
7.
8. <id>nexus</id>
9.
10. <url>http://ip:8081/nexus/content/groups/public</url>
11.
12. <releases>
13.
14. <enabled>true</enabled>
15.
16. </releases>
17.
18. <snapshots>
19.
20. <enabled>true</enabled>
21. <updatePolicy>always</updatePolicy>
22. <checksumPolicy>warn</checksumPolicy>
23.
24. </snapshots>
25.
26. </repository>
27.
28. </repositories>
29.
30. <pluginRepositories>
31.
32. <pluginRepository>
33.
34. <id>nexus</id>
35.
36. <url>http://ip:8081/nexus/content/groups/public</url>
37.
38. <releases>
39.
40. <enabled>true</enabled>
41.
42. </releases>
43.
44. <snapshots>
45.
46. <enabled>true</enabled>
47. <updatePolicy>always</updatePolicy>
48. <checksumPolicy>warn</checksumPolicy>
49.
50. </snapshots>
51.
52. </pluginRepository>
53.
54. </pluginRepositories>
55.
56. </profile>
可以看到我在snapshot下面加了如下设置
Java代码 复制代码 收藏代码
1.<enabled>true</enabled>
2. <updatePolicy>always</updatePolicy>
3. <checksumPolicy>warn</checksumPolicy>
看下maven官方对这个属性做出的解释,重点就是updatePolicy属性
enabled设置为true
updatePolicy更新snapshot包的频率,属性有四个值always(实时更新) daily(每天更新) interval:xxx(隔xxx分钟更新一次) never(从不更新) 默认为daily
checksumPolicy为warn
如果是使用eclipse开发,集成了maven插件的,还需要做如下事情。
Window>Preferences>Maven>User Settings>Update Settings
完成以上操作可完成无需更改版本发布,依赖方也不需要更改pom,只需执行一下mvn clean install 即可完成依赖更新