快照存储库和发布存储库有什么区别?
这是关于设置存储库(如 Artifactory、Nexus 等)的参考
发布存储库保存发布,快照存储库保存快照。在 Maven 中,快照被定义为版本以 -SNAPSHOT 结尾的工件。部署时,快照会变成时间戳。根据定义,快照是可变的,发布是不可变的。这就是为什么 Nexus 让您将它们分开存储的原因,因为通常您不在乎是否丢失快照,但您会关心是否丢失版本。它使快照清理更容易以这种方式处理。
发布工件
这些是特定的时间点发布。发布的工件被认为是可靠的、稳定的和永久的,以保证依赖于它们的构建随着时间的推移是可重复的。已发布的 JAR 工件与 PGP 签名相关联,校验和验证二进制软件工件的真实性和完整性。中央 Maven 存储库存储发布工件。
快照工件
快照捕获正在进行的工作并在开发过程中使用。快照工件具有版本号(例如“1.3.0”或“1.3”)和时间戳。例如,commons-lang 1.3.0 的快照工件可能具有名称 commons-lang-1.3.0-20090314.182342-1.jar。
取自refcard
通常在 Maven 中,我们有两种类型的构建:
1)快照构建:SNAPSHOT 是指示当前部署副本的特殊版本,而不是常规的特定版本。Maven 检查远程存储库中每个构建的版本。快照构建只不过是开发构建。
2)发布版本:发布意味着删除版本 ID 处的 SNAPSHOT 版本。这些是常规的构建版本。
快照工件和发布工件分别推送到快照、发布存储库。
快照是将版本号作为 -SNAPSHOTS 的 maven 想法,它正在开发中,它可以随时更改。
内部存储库是具有固定版本号的发布存储库。您可以修改 SNAPSHOTS,但该工件在发布后永远不会更改。
这里的 SNAPSHOT 并不是真正的 ONE 快照被冻结并且不会改变,SNAPSHOT 涵盖了几个快照,它们的修改量不足以用新的版本号表示