“强制更新快照/版本”就像运行以下命令
mvn -U install
Run Code Online (Sandbox Code Playgroud)
-U 也可以用作 --update-snapshot。看这里。
Eclipse 的 m2eclipse 插件在内部使用 maven-core API 调用相同的内容。
请参阅setUpdateSnapshots方法。
在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,是小张吉家族成员开发的,B的功能依赖于A中的开发过程中,张老师经常需要构建自己的最新输出,给季MM,供她开发和集成调试,问题是,这是怎么工作的?如果一直更新版本2.1.1、2.1.2、2.1.3....首先,小张和季MM都需要频繁的更改POM,如果有较多的模块依赖于模块A,就会涉及到更多 POM 更改;其次,大量的版本实际上只包含很小的差异,这会导致版本号的滥用。Maven的快照版本机制就是为了解决上述问题。在这个例子中,小张只需要将模块A的版本设置为2.1-SNAPSHOT,然后发布到PW上,在发布的过程中,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 始终有效。需要额外的手动操作。
| 归档时间: |
|
| 查看次数: |
4699 次 |
| 最近记录: |