maven snapshot和release版本号之间的差
在使用maven过程。我们经常会在不稳定的状态有很多公共图书馆在发展阶段。需要改变在任何时间和公布,你可能有一天一次发布。经验bug时间,甚至一天公布N次要。我们知道,。maven依赖管理是基于管理的版本号,对于发布状态artifact,假设相同的版本号,即使是我们内部的镜子server上的组件比本地新,maven也不会主动下载的。
假设我们在开发阶段都是基于正式公布版本号来做依赖管理,那么遇到这个问题。就须要升级组件的版本号号,可这样就明显不符合要求和实际情况了。可是,假设是基于快照版本号,那么问题就自热而然的攻克了,而maven已经为我们准备好了这一切。
maven中的仓库分为两种,snapshot快照仓库和release公布仓库。
snapshot快照仓库用于保存开发过程中的不稳定版本号,release正式仓库则是用来保存稳定的发行版本号。定义一个组件/模块为快照版本号,仅仅须要在pom文件里在该模块的版本号号后加上-SNAPSHOT就可以(注意这里必须是大写),例如以下:
<groupId>cc.mzone</groupId> <artifactId>m1</artifactId> <version>0.1-SNAPSHOT</version> <packaging>jar</packaging>
maven2会依据模块的版本号号(pom文件里的version)中是否带有-SNAPSHOT来推断是快照版本号还是正式版本号。假设是快照版本号,那么在mvn deploy时会自己主动公布到快照版本号库中,而使用快照版本号的模块,在不更改版本号号的情况下。直接编译打包时,maven会自己主动从镜像server上下载最新的快照版本号。
假设是正式公布版本号,那么在mvn deploy时会自己主动公布到正式版本号库中。而使用正式版本号的模块。在不更改版本号号的情况下,编译打包时假设本地已经存在该版本号的模块则不会主动去镜像server下载。
所以,我们在开发阶段,公共图书馆的版本号可以设置为快照版本。是依赖组件被引用的快照版本开发。快照版本更新的公共图书馆后。我们并不需要改变pom文件版本号提示下载新的版本号,直接mvn编译相关的操作、包装命令可以重新下载最新的快照库,从而促进我们的发展。
maven snapshot和release版本号之间的差的更多相关文章
- maven snapshot和release版本的区别
Maven的Snapshot版本与Release版本 1. Snapshot版本代表不稳定.尚处于开发中的版本 2. Release版本则代表稳定的版本 3. 什么情况下该用SNAPSHOT? 协同开 ...
- maven snapshot和release版本的区别(转)
在使用maven过程中,我们在开发阶段经常性的会有很多公共库处于不稳定状态,随时需要修改并发布,可能一天就要发布一次,遇到bug时,甚至一天要发布N次.我们知道,maven的依赖管理是基于版本管理的, ...
- (转) maven snapshot和release版本的区别
在使用maven过程中,我们在开发阶段经常性的会有很多公共库处于不稳定状态,随时需要修改并发布,可能一天就要发布一次,遇到bug时,甚至一 天要发布N次.我们知道,maven的依赖管理是基于版本管理的 ...
- 【Maven】Snapshot和Release版本的区别
Snapshot版本代表不稳定.尚处于开发中的版本,快照版本. Release版本则代表稳定的版本,发行版本. 什么时候用Snapshot版本? 依赖库中的jar正处于开发的阶段,会被经常被更新,这种 ...
- 你与优秀源码之间只差一个 Star
fir.im Weekly - 你与优秀源码之间只差一个 Star 说起开源社区,Github 是一个不可缺少的存在.作为全球最大的同性交友网站,上面有太多优秀的开源代码库和编程大神,让无数开发者 ...
- 从SVN导出指定版本号之间修改的文件(转)
从SVN导出指定版本号之间修改的文件(转) 当一个网站项目进入运营维护阶段以后,不会再频繁地更新全部源文件到服务器,这个时间的修改大多是局部的,因此更新文件只需更新修改过的文件,其他没有修改过的文 ...
- Eclipse使用Maven创建普通Java工程时错误:Could not resolve archetype org.apache.maven.archetypes:maven-archetype-quickstart:RELEASE from any of the configured repositories.
报错信息如下: Could not resolve archetype org.apache.maven.archetypes:maven-archetype-quickstart:RELEASE f ...
- java类和对象之间的差
java类和对象之间的差别是一个普遍的问题,刚开始学习java当它来到与类和对象接触.今天就来总结一下它们之间的差异. 先说说class和object差异.事实上,词:object是全部class的父 ...
- Jquery计算时间戳之间的差值,可返回年,月,日,小时等
/** * 计算时间戳之间的差值 * @param startTime 开始时间戳 * @param endTime 结束时间戳 * @param type 返回指定类型差值(year, month, ...
随机推荐
- Redis key 设计技巧
1: 把表名转换为key前缀 如, tag: 2: 第2段放置用于区分区key的字段--对应mysql中的主键的列名,如userid 3: 第3段放置主键值,如2,3,4...., a , b ,c ...
- Oracle 最简单的随系统自己主动启动
Oracle 最简单的随系统自己主动启动 俗话说用户是上帝,他们有时候提出一个问题很的简单,就仅仅须要一句话,一分钟就完事了.可是拿到我们DBA来说,可能至少得半个小时甚至半个月才干满足他的一句话.有 ...
- 关于SVN配置文件的一个小例子
1 背景假设 厦门央瞬公司是一家电子元器件设备供应商,其中有个ARM部门,专门负责ARM芯片的方案设计.销售,并在北京.上海各设立了一个办事处.对于工作日志,原先采用邮件方式发给经理,但是这种方式 ...
- Wooden Sticks(杭州电1051)
Wooden Sticks Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) To ...
- Java 理论与实践: 处理 InterruptedException(转)
很多 Java™ 语言方法,例如 Thread.sleep() 和 Object.wait(),都可以抛出InterruptedException.您不能忽略这个异常,因为它是一个检查异常(check ...
- centos 安装 使用本地图像文件来安装网络安装
有时很无奈,无盘,U它只有盘4G而一个centos该盘4.16G,如何将它安装了网络安装,对不起,你想用20M更多的带宽,并注意使用网络启动盘的方法 没有条件,应该创造条件: 网络安装,需要下载图片, ...
- HDU4309-Seikimatsu Occult Tonneru(最大流)
Seikimatsu Occult Tonneru Time Limit: 12000/6000 MS (Java/Others) Memory Limit: 32768/32768 K (Ja ...
- NET 分布式架构开发项目实战
.NET 分布式架构开发项目实战 从头到尾,一步一步讲述一个真实的项目实战,关注点主要是架构的思考和实现,以及如何解决平时项目遇到的一些问题. 同时也司公布源代码. 如何构建高性能,稳定SOA应用之- ...
- 辛格尔顿和Android
辛格尔顿(Singleton) .singleton.h,定义类的基本成员及接口 #ifndef SINGLETON_H_INCLUDE #define SINGLETON_H_INCLUDE cla ...
- Java乔晓松-android中上传图片到服务器Tomcat(Struts2)
在做android开发的时候,有时你会用到图片的上传功能,在我的android项目中,我是选中图片,点击上传多张图片 android客户端上传图片部分的代码如下: package com.exampl ...