`
hewusheng
  • 浏览: 5404 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

MAVEN发布固定版本(不需要更改pom更新依赖的方法)

    博客分类:
  • html
 
阅读更多

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 即可完成依赖更新
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics