pom.xml 配置之:snapshot 快照库和 release发布库 的区别

您所在的位置:网站首页 和homepagecached一样的快照 pom.xml 配置之:snapshot 快照库和 release发布库 的区别

pom.xml 配置之:snapshot 快照库和 release发布库 的区别

2023-03-18 13:48| 来源: 网络整理| 查看: 265

1、如果在发布时使用 mvn deploy -P release 的命令,那么会自动使用0.1作为发布版本,那么根据 maven 处理 snapshot 和release 的规则,由于版本号后不带 -SNAPSHOT 故当成是正式发布版本,会被发布到 release 仓库; 2、如果发布时使用 mvn deploy 命令,那么就会使用默认的版本号 0.1-SNAPSHOT,此时 maven 会认为是快照版本,会自动发布到快照版本库。

在 distributionManagement 段中配置的是 snapshot 快照库和 release 发布库的地址,我这里是采用 nexus 作为镜像服务器。

以上转自:https://blog.csdn.net/aitangyong/article/details/53332091

以下转自:https://www.cnblogs.com/rwxwsblog/p/6029636.html

maven中snapshot快照库和release发布库的区别

可参考 maven中snapshot快照库和release发布库的区别和作用

1. 开发阶段经常性的会随时需要修改并发布,可能一天要发布N次。

maven 的依赖管理是基于版本管理的,对于发布状态的 artifact,如果版本号相同,即使内部的镜像服务器上的组件比本地新,maven也不会主动下载。若开发阶段都是基于正式发布版本来做依赖管理,那此时,就需要升级组件的版本号,可这操作明显过于繁复了。

2. 若基于快照版本,问题就迎刃而解了,maven已准备好了这一切:

maven 中的仓库分为两种:snapshot 快照仓库和 release 发布仓库。

snapshot 快照仓库用于保存开发过程中的不稳定版本,release正式仓库则是用来保存稳定的发行版本。

定义一个组件/模块为快照版本,只需要在 pom 文件中在该模块的版本号后加上 -SNAPSHOT 即可(注意这里必须是大写)。

3. maven 会根据模块的版本号 (pom文件中的version) 中是否带有 -SNAPSHOT 来判断是快照版本还是正式版本。

若是快照版本,在 mvn deploy 时会自动发布到快照版本库中。使用快照版本的模块,在不更改版本号的情况下,直接编译打包时,maven 会自动从镜像服务器上下载最新的快照版本。

若是正式发布版本,在 mvn deploy 时会自动发布到正式版本库中,而此类模块,在不更改版本号的情况下,编译打包时如果本地已经存在该版本的模块则不会主动去镜像服务器上下载 。

故 开发阶段,可将公用库的版本设置为快照版本,被依赖组件则引用快照版本进行开发,在公用库的快照版本更新后,也无需修改 pom 文件(修改版本号来下载新的版本),直接 mvn 执行相关编译、打包命令即可重新下载最新的快照库了。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3