我对Maven快照的含义有点困惑,为什么我们要构建一个?


当前回答

“快照”术语意味着构建是给定时间内代码的快照。

这通常意味着这个版本仍在大量开发中。

当代码准备好并且是时候发布它时,您将希望更改POM中列出的版本。然后,您将使用“1.0”这样的标签,而不是使用“SNAPSHOT”。

有关版本控制的帮助,请查看语义版本控制规范。

其他回答

“发行版”是一个没有更改的版本的最终版本。

“快照”是一个可以被具有相同名称的另一个构建所替换的构建。这意味着构建可以在任何时候更改,并且仍然处于积极的开发中。

对于基于相同代码的不同构建,您有不同的工件。例如,你可能有一个调试和一个没有。一个用于Java 5.0,一个用于Java 6。一般来说,一个版本能满足你所有的需求会更简单。;)

“快照”术语意味着构建是给定时间内代码的快照。

这通常意味着这个版本仍在大量开发中。

当代码准备好并且是时候发布它时,您将希望更改POM中列出的版本。然后,您将使用“1.0”这样的标签,而不是使用“SNAPSHOT”。

有关版本控制的帮助,请查看语义版本控制规范。

通常在maven中,我们有两种类型的构建 1)建立快照 2)制定版本发布

快照构建:快照是特殊版本,它指示当前部署副本,不像常规版本,maven检查远程存储库中的每个构建的版本 因此快照构建只是开发构建。 发布版本:发布意味着在版本中删除快照,这些是常规的构建版本。

简单快照意味着它是一个不稳定的版本。

当版本包含快照,如1.0.0 -SNAPSHOT意味着它不是稳定的版本,并寻找远程存储库来解决依赖关系

SNAPSHOT值指的是沿着开发分支的“最新”代码,并不能保证代码是稳定的或不变的。相反,“发布”版本(任何不带SNAPSHOT后缀的版本值)中的代码是不变的。

换句话说,SNAPSHOT版本是最终“发布”版本之前的“开发”版本。SNAPSHOT比它的发行版“更老”。

在发布过程中,x.y-SNAPSHOT的一个版本更改为x.y。发布过程还将开发版本增加到x.(y+1)-SNAPSHOT。例如,版本1.0- snapshot发布为版本1.0,新的开发版本为版本1.1-SNAPSHOT。