Maven 快照
458字约2分钟
2024-08-08
大型应用软件一般由多个模块组成,一般它是多个团队开发同一个应用程序的不同模块,这是比较常见的场景。例如,一个团队正在对应用程序的用户界面项目(app-ui.jar:1.0
) 的前端进行开发,他们使用的是数据服务工程 (data-service.jar:1.0
)
现在,它可能会有这样的情况发生,工作在数据服务团队开发人员快速地开发、bug
修复或增强功能,他们几乎每隔一天就要释放出库到远程仓库
现在,如果数据服务团队上传新版本后,会出现下面的问题:
数据服务团队应该发布更新时每次都告诉应用程序
UI
团队,他们已经发布更新了代码UI
团队需要经常更新自己pom.xml
以获得更新应用程序的版本
为了处理这类情况,引入快照的概念,并发挥作用
快照
快照(SNAPSHOT
)是一个特殊版本,指出目前开发拷贝。不同于常规版本,Maven
每生成一个远程存储库都会检查新的快照版本
现在,数据服务团队将在每次发布代码后更新快照存储库为:data-service:1.0-SNAPSHOT
替换旧的 SNAPSHOT jar
快照与版本
在使用版本时,如果 Maven
下载所提到的版本为 data-service:1.0
,那么它永远不会尝试在库中下载已经更新的版本 1.0
。要下载更新的代码,data-service
的版本必须要升级到 1.1
在使用快照(SNAPSHOT
)时,Maven
会在每次应用程序 UI
团队建立自己的项目时自动获取最新的快照(data-service:1.0-SNAPSHOT
)