maven3实战之仓库(快照版本)

----------

在Maven的世界中,任何一个项目或者构件都必须有自己的版本。版本的值可能是1.0.0,1.3-alpha-4,2.0,2.1-SNAPSHOT或者2.1-20091214.221414-13。其中,1.0、1.3-alpha-4和2.0是稳定的发布版本,而2.1-SNAPSHOT和2.1-20091214.221414-13是不稳定的快照版本。

Maven为什么要区分发布版本和快照版本呢?简单的1.0.0、1.2、2.1等不就够了吗?为什么还要2.1-SNAPSHOT,甚至是长长的2.1-20091214.221414-13?试想一下这样的情况,小张在开发模块A的2.1版本,该版本还未正式发布,与模块A一同开发的还有模块B,它由小张的同事季MM开发,B的功能依赖于A。在开发的过程中,小张需要经常将自己最新的构建输出,交给季MM,供她开发和集成调试,问题是,这个工作如何进行呢?

如果不停更新版本2.1.1、2.1.2、2.1.3....呢?首先,小张和季MM两人都需要频繁地更改POM,如果有更多的模块依赖于模块A,就会涉及更多的POM更改;其次,大量的版本其实仅仅包含了微小的差异,这样也会造成为版本号的滥用。

Maven的快照版本机制就是为了解决上述问题。在该例中,小张只需要将模块A的版本设定为2.1-SNAPSHOT,然后发布到私服中,在发布的过程中,Maven会自动为构件打上时间戳。比如:2.1-20091214.221414-13就表示2009年12月14日 22点14分14秒的第13次快照。有了该时间戳,Maven就能随时找到仓库中该构件2.1-SNAPSHOT版本最新的文件。这时,季MM配置对于模块A的2.1-SNAPSHOT版本的依赖,当她构件模块B的时候,Maven会自动从仓库中检查模块A的2.1-SNAPSHOT的最新构件,当发现有更新时便进行下载。默认情况下,Maven每天检查一次更新(由仓库配置的updatePolicy控制),用户也可以使用命令行-U参数强制让Maven检查更新,如:mvn clean install-U。

基于快照版本机制,小张在构建成功之后才能将构件部署至仓库,而季MM可以完全不用考虑模块A的构建,并且她能确保随时得到模块A的最新可用的快照构件,而这一切都不需要额外的手工操作。

posted on 2014-03-26 13:01 顺其自然EVO 阅读(518) 评论(0)  编辑  收藏 所属分类: maven

java快照版本,maven3实战之仓库(快照版本)相关推荐

  1. maven3实战之仓库(远程仓库的配置)

    maven3实战之仓库(远程仓库的配置) ---------- 在很多情况下,默认的中央仓库无法满足项目的需求,可能项目需要的构件存在于另外一个远程仓库中,如:JBoss,Maven仓库.这时,可以在 ...

  2. maven3实战之仓库(仓库搜索功能)

    maven3实战之仓库(仓库搜索功能) ---------- 使用Maven进行日常开发的时候,一个常见的问题就是如何寻找需要的依赖,我们可能只知道城垛 要使用类库的项目名称,但添加Maven依赖要求 ...

  3. maven3实战之仓库

    maven仓库介绍 1.何为Maven仓库 maven可以在某个位置统一存储所有maven项目共享的构件,这个统一的位置就是仓库.实际的Maven项目将不会各自存储其依赖文件,它们只需要声明这些依赖的 ...

  4. 开源即巅峰,《Java程序性能优化实战》GitHub三小时标星已超34k

    蓦然回首自己做开发已经十年了,这十年中我获得了很多,技术能力.培训.出国.大公司的经历,还有很多很好的朋友.但再仔细一想,这十年中我至少浪费了五年时间,这五年可以足够让自己成长为一个优秀的程序员,可惜 ...

  5. Java Gradle入门指南之依赖管理(添加依赖、仓库、版本冲突)

    Java Gradle入门指南之依赖管理(添加依赖.仓库.版本冲突) 作者:@gzdaijie 本文为作者原创,转载请注明出处:http://www.cnblogs.com/gzdaijie/p/52 ...

  6. 【云服务器 ECS 实战】ECS 快照镜像的原理及用法详解

    一.ECS 快照 1. 阿里云 ECS 快照概述 • ECS 增量快照机制 2. 快照服务的开通与使用 • 开通快照与 OSS 资源包的购买 • 手动快照 • 自动快照 二.ECS 镜像 1. 阿里云 ...

  7. Java搭建宝塔部署实战毕设项目WMS仓库管理系统源码

    大家好啊,我是测评君,欢迎来到web测评. 本期给大家带来一套Java开发的毕业设计项目WMS仓库管理系统源码. 技术架构 技术框架:SpringMVC + Mybatis + Ehcache + b ...

  8. 【游戏开发】《Java游戏服务器架构实战》项目在windows上部署

    [游戏开发]<Java游戏服务器架构实战>项目在windows上部署 文章目录 [游戏开发]<Java游戏服务器架构实战>项目在windows上部署 一.配置项目基础环境 二. ...

  9. Java RESTful Web Service实战(第2版)

    Java核心技术系列 Java RESTful Web Service实战 (第2版) 韩陆 著 图书在版编目(CIP)数据 Java RESTful Web Service实战 / 韩陆著. -2版 ...

最新文章

  1. lduan Exchange 2013 公共文件夹(十)
  2. 奇怪-正则匹配的test函数
  3. Storm【技术文档】-Worker Executor Task的关系
  4. javaone_JavaOne 2012:使用HTML5和Java构建移动应用程序
  5. flask 继承模版的基本使用1
  6. WSS连接服务器端报错
  7. Win10网络共享设置的方法步骤
  8. 玩数据必备Python库:Numpy使用详解
  9. 使用Hexo搭建专属Blog
  10. 跨过虚拟化技术浪潮,Veeam快步入局云数据管理
  11. Android Studio如何隐藏系统的状态栏
  12. Device Mapper Multipath(DM-Multipath)
  13. Paper--3d reconstruction:Photo Tourism: Exploring Photo Collections in 3D
  14. linux csr蓝牙驱动下载,佳能 CSR Bluetooth Device 驱动程序下载-更新佳能软件(蓝牙)...
  15. Python绘制bezier曲线
  16. 让物联网为“中国制造”插上腾飞的翅膀
  17. 2019年,你必须知道的7个企业服务趋势
  18. SAP方丈 SAP常见问题与解决办法 转
  19. 计算机无法识别苹果手机,如何解决电脑无法识别iphone的问题?
  20. POJ 3265 Problem Solving

热门文章

  1. PHP代码审计系列(一)
  2. 统一流程平台----助力企业数字化转型的工具
  3. linux cal命令使用,cal命令_Linux cal命令使用详解:显示当前日历或指定日期的日历...
  4. 手机号归属地和运营商数据(471452条)
  5. 2021期末学期总结
  6. 微信小程序轮播图放大全屏预览(爆料)
  7. 远程诊断爆发前夜,谁在领跑主动安全服务?
  8. 公司的注册资金必须实际缴纳吗
  9. python核心编程是一本好书
  10. c#动态生成控件,并为控件注册事件