Maven快照
# Maven快照
大型应用软件一般由多个模块组成,一般它是多个团队开发同一个应用程序的不同模块,这是比较常见的场景。 例如,一个团队正在对应程序的后台程序、用户界面顶目(app-ui.jar:l.0.0)的前端讲行开发。他们使用的是数据服务工程(data-service.jar:1.0.0)。
现在,它可能会有这样的情况发生,工作在数据服务团队的开发人员快速地进行开发、bug修复或增强功能。他们几乎每隔一天就释放出库到远程仓库。
现在,如果数据服务团队上传新版本后。会出现下面的问题:
- 数据服务团队发布更新时,应该每次都告诉应用程序UI团队,他们已经发布更新了代码。
- UI团队需要经常更新自已pom.xml以获得更新应用程序的版本。
为了处理这类情况,引入快照的概念,并发挥作用。
# 什么是快照?
快照(SNAPSHOT
)是一个特殊版本,指的是目前开发版本的拷贝。不同于常规版本,Maven每生成一个远程存储库都会检查新的快照版本。
现在,数据服务团队将在每次发布代码后更新快照存储库为:data-service:1.0.0-SNAPSHOT
替换旧的SNAPSHOT.jar。
# 快照与版本
在使用版本时,如果Maven下载所提到的版本为data-service:1.0.0
,那么它永远不会尝试在库中下载已经更新的版本1.0.0。要下载更新的代码,data-service
的版本必须要升级到1.1.0。
在使用快照时,Maven会在每次应用程序UI团队构建自己的项目时自动获取最新的快照(data-service:l.0.0-SNAPSHOT)。
通常,版本除了符合语义化的命名规范外,版本还分为发行版和快照版。发行版通常用-RELEASE
命名,而快照版必须
使用-SNAPSHOT
命名,实际上-SNAPSHOT生成的文件名称是日期。
Maven的快照思想体现了,面向对象的设计原则:面向扩展开放,面向修改关闭。
上次更新: 5/30/2023, 10:03:37 PM