maven 快照 更新策略
2015-10-13 11:20
253 查看
1、为什么会有快照?
没有快照之前:
A项目依赖于项目B,B每次改动就赋予一个新版本号,然后告诉A我改版本好了啊,每次改动都得告诉,有时忘了就麻烦了。
可以看出没有快照会带来“浪费版本号”、沟通成大加大的问题。
有了快照之后:
A项目依赖于项目B,B每次改动都会打上时间戳,A编译时会检查B的时间戳,如果晚于本地仓库B的时间戳,那么就会进行更新,否则不予更新。
可以看出快照省去了沟通成本、版本号成本。
2、快照更新策略
注意,快照并不是每次install就会更新,这取决于更新策略;快照更新策略,有每日更新、永远检查更新、从不检查更新和自定义时间间隔更新,默认是每日更新也就是说一日更新一次,如果想总是更新,那么可以在settings.xml中配置。比如
也可以通过命令强制更新,mvn clean install-U
总结:
我曾经遇到过,设置了快照版本,但没有更新的问题,后来才发现是更新策略的缘故,当时的更新策略是每日更新,这都是对maven掌握的不够深入导致的,设置为总是检查更新就好了。以上内容是读过《maven实战》加上平日实践的心得。
没有快照之前:
A项目依赖于项目B,B每次改动就赋予一个新版本号,然后告诉A我改版本好了啊,每次改动都得告诉,有时忘了就麻烦了。
可以看出没有快照会带来“浪费版本号”、沟通成大加大的问题。
有了快照之后:
A项目依赖于项目B,B每次改动都会打上时间戳,A编译时会检查B的时间戳,如果晚于本地仓库B的时间戳,那么就会进行更新,否则不予更新。
可以看出快照省去了沟通成本、版本号成本。
2、快照更新策略
注意,快照并不是每次install就会更新,这取决于更新策略;快照更新策略,有每日更新、永远检查更新、从不检查更新和自定义时间间隔更新,默认是每日更新也就是说一日更新一次,如果想总是更新,那么可以在settings.xml中配置。比如
<profile> <id>nexus</id> <repositories> <repository> <id>central</id> <url>http://central</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> <updatePolicy>always</updatePolicy> </snapshots> </repository> </repositories> </profile>
也可以通过命令强制更新,mvn clean install-U
总结:
我曾经遇到过,设置了快照版本,但没有更新的问题,后来才发现是更新策略的缘故,当时的更新策略是每日更新,这都是对maven掌握的不够深入导致的,设置为总是检查更新就好了。以上内容是读过《maven实战》加上平日实践的心得。
相关文章推荐
- maven学习
- maven插件maven-war-plugin的使用
- jenkins------部署项目到jboss eap下
- maven使用经验集
- 使用maven+eclipse搭建struts2开发环境
- maven中下载jar包源码和javadoc的命令介绍
- Maven学习笔记
- Maven for Eclipse
- maven 使用 问题记录
- 《Maven权威指南》学习笔记四_创建一个简单的Maven项目
- 《Maven权威指南》学习笔记十七_一个多模块项目 3ff0
- 《Maven权威指南》学习笔记十八_多模块企业级项目 3ff0
- 《Maven权威指南》学习笔记二十_关于POM
- 近日maven学习概况
- Eclipse Maven Tomcat的利用配置
- (转)Vaadin 使用 Maven
- Maven和Eclipse联合开发
- Maven intall OR Maven build
- JFBlog 1.0 maven版本开源
- 使用Maven开发Android的常见问题