Maven Snapshot Repository与Release Repository

时间:2008-11-09 03:17:29

标签: maven repository release nexus snapshot

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

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

5 个答案:

答案 0 :(得分:76)

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

答案 1 :(得分:55)

发布工件

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

快照工件

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

取自refcard

答案 2 :(得分:3)

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

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

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

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

答案 3 :(得分:3)

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

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

答案 4 :(得分:0)

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