Maven Snapshot Repository与版本库

Snapshot Repository和Release Repository有什么区别?

这是参考设置存储库(像Artifactory,Nexus等)

释放工件

这些是特定的时间点发布。 发布的文物被认为是坚实的,稳定的和永久的,以保证依赖于它们的构build是可重复的。 发布的JAR构件与PGP签名相关联,并且校验和validation二进制软件构件的真实性和完整性。 中央Maven存储库存储发布工件。

快照文物

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

采取从refcard

版本库保存版本,快照存储库保存快照。 在maven中,快照被定义为以-SNAPSHOT结尾的版本。 部署后,快照将转换为时间戳。 根据定义,快照是可变的,发布是不可变的。 这就是为什么Nexus让你分开存储它们的原因,因为通常你不在乎你是否失去了快照,但是如果你失去了发行版,你会在乎。 这使得快照清理更容易处理。

快照是maven的想法,赋予版本号为-SNAPSHOTS,正在开发中,它可以随时更改。

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

通常在maven中我们有两种types的构build:

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

2) 发布构build :发布意味着在构build的版本ID处移除SNAPSHOT。 这些是常规的版本。

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

这里的SNAPSHOT并不意味着一个快照被冻结,不会改变,SNAPSHOT包含了几个快照,其修改不足以用新版本号代表