0

我将其从主干与分支发布问题中排除,因为这是一个单独的问题。

假设您已经完成了开发迭代,并且正在推出一个版本供其他人在他们的项目中使用。

现在我团队的一些成员说:

SNAPSHOT 用于在您的团队中进行迭代 - 非 SNAPSHOT 用于实际发布。

但是当我查看反应器插件和相关评论时 - 它似乎是相反的

你只应该发布 SNAPSHOT 版本。这意味着您的版本号类似于 3.0.3-SNAPSHOT。

我的问题是:在发布供其他人使用时,库和 Maven 的约定是 SNAPSHOT 还是非 SNAPSHOT?

4

2 回答 2

0

SNAPSHOT在开发过程中分配,开发完成后我们需要发布,那么你的版本将不包含SNAPSHOT. 您可以在 Internet 上交叉验证这一点。我们用于一般用途的罐子不包含SNAPSHOT. 最后,它们都是 GA(通用)版本。

示例:spring-data-mongodb-1.9.2.RELEASE。所以你的团队成员所说的是真的。

于 2016-07-02T03:16:34.663 回答
0

请参阅Maven:完整参考,3.3.1。项目版本

快照版本

Maven 版本可以包含一个字符串文字来表示一个项目当前正在积极开发中。如果版本包含字符串“-SNAPSHOT”,那么 Maven 将在您安装或发布此组件时扩展此标记 [...] 。

...

你为什么要用这个?SNAPSHOT 版本用于正在积极开发的项目。[...],如果您的系统的下一个版本将有一个版本“1.4”,那么您的项目将有一个版本“1.4-SNAPSHOT”,直到它正式发布

...

发布项目时,应将所有对 SNAPSHOT 版本的依赖解析为对已发布版本的依赖。如果一个项目依赖于一个 SNAPSHOT,它是不稳定的,因为依赖关系可能会随着时间而改变。[...] SNAPSHOT 版本仅用于开发。

[由我强调。]

这对我来说意味着:

从技术 POV 可以发布任何版本,快照与否。但是(技术上)发布的快照版本不是语义 POV 的(正式)发布版本

于 2016-07-02T12:19:49.327 回答