maven 快照 更新策略

Posted QQ_851228082

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了maven 快照 更新策略相关的知识,希望对你有一定的参考价值。

1、为什么会有快照?

没有快照之前:

                  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“始终更新快照”的 IntelliJ 2017.2 设置有啥作用?

Maven 3 不会从本地存储库更新快照依赖项

Maven 发布插件 - 在发布中跳过快照版本更新:准备步骤

Maven 发布插件不更新依赖管理中的快照

Maven 获取最新的快照或发布