Maven Snapshot Repository与Release Repository

问题描述 投票:84回答:5

快照存储库和发布存储库之间有什么区别?

这是关于设置存储库(如Artifactory,Nexus等)

maven repository release nexus snapshot
5个回答
56
投票

发布工件

这些是特定的时间点版本。发布的工件被认为是可靠的,稳定的和永久的,以保证依赖于它们的构建随着时间的推移是可重复的。发布的JAR工件与PGP签名相关联,校验和验证二进制软件工件的真实性和完整性。 Central Maven存储库存储发布工件。

快照文物

快照捕获正在进行的工作,并在开发期间使用。快照工件具有诸如“1.3.0”或“1.3”的版本号和时间戳。例如,commons-lang 1.3.0的快照工件可能名为commons-lang-1.3.0-20090314.182342-1.jar。

取自refcard


79
投票

发布存储库保留发布,快照存储库保存快照。在maven中,快照被定义为版本以-SNAPSHOT结尾的工件。部署后,快照将变为时间戳。根据定义,快照是可变的,发布是不可变的。这就是为什么Nexus让你单独存储它们的原因,因为通常你不关心是否丢失了快照,但是如果你丢失了版本,你会很在意。它使快照清理更容易处理。


3
投票

快照是maven想要给版本号-SNAPSHOTS,它正在开发中,它可以随时改变。

内部存储库是具有固定版本号的发布存储库。您可以修改SNAPSHOTS,但该工件在发布后永远不会更改。


3
投票

通常在maven中我们有两种类型的构建:

1)快照构建:SNAPSHOT是指示当前部署副本的特殊版本,而不是常规的特定版本。 Maven检查远程存储库中每个构建的版本。快照构建只是开发构建。

2)发布版本:发布意味着删除构建版本ID的SNAPSHOT。这些是常规版本。

快照工件和发布工件分别推送到快照,发布存储库。


0
投票

这里的SNAPSHOT实际上并不意味着一个被冻结且不会改变的快照,SNAPSHOT涵盖了几个快照,这些快照的修改不够大,无法用新的版本号表示

© www.soinside.com 2019 - 2024. All rights reserved.