Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven工件元数据是否揭示工件是否是稳定版本?_Maven - Fatal编程技术网

Maven工件元数据是否揭示工件是否是稳定版本?

Maven工件元数据是否揭示工件是否是稳定版本?,maven,Maven,Maven工件或其部署到远程存储库的元数据是否允许可靠地确定工件是否为稳定版本 快照具有后缀SNAPSHOT,但是也有alphas、beta和pre-release,并且命名不一定一致,例如: (也许这实际上是一个稳定的版本?) 以不同方式突出显示非发布版本,但可能只是查找某些关键字? ()请参阅,其中从以下部分开始对版本号进行了详细说明: 如果版本字符串是语法正确的版本号,那么在几乎所有情况下,版本比较都遵循该规范中概述的优先规则。[……] [……] 当版本字符串不遵循语义版本控

Maven工件或其部署到远程存储库的元数据是否允许可靠地确定工件是否为稳定版本

快照具有后缀
SNAPSHOT
,但是也有alphas、beta和pre-release,并且命名不一定一致,例如:

  • (也许这实际上是一个稳定的版本?)
以不同方式突出显示非发布版本,但可能只是查找某些关键字?

()

请参阅,其中从以下部分开始对版本号进行了详细说明:

如果版本字符串是语法正确的版本号,那么在几乎所有情况下,版本比较都遵循该规范中概述的优先规则。[……]

[……]

当版本字符串不遵循语义版本控制时,需要一组更复杂的规则。[…]这给出了一系列带有“.”或“-”前缀的版本号(数字标记)和版本限定符(非数字标记)

因此,
alpha1
beta2
M5
rc-2
RC1
是:

a) 对于“预发布版本[…],表示为在补丁版本和破折号之后立即添加任意字符串。”根据

b) (预)发布的所有限定符,而不是快照,其中
M
代表


就内容而言,您只能信任工件创建者他们使用了一个适当的限定符来表示工件的实际状态。

由此产生的问题是:如何定义稳定的版本?在Maven SNAPSHOT中,通常没有
SNAPSHOT
作为后缀…他们总是使用后缀…@khmarbaise,我已经更正了关于快照的错误声明,谢谢。我他会说是人工制品的创造者决定了它是否稳定。创造者选择以“beta版”而不是完全版的形式发布某些东西肯定是有原因的,我认为这是(尚未广泛测试)稳定性。我可以说,对于maven surefire插件版本3.0.0-M5,我正在生产中使用它…我称之为足够稳定…测试足够?插件等有一个大型测试套件…我会进行2.500次测试?从我的观点来看非常好…@khmarbaise Re“他们总是有后缀。。。–这仅适用于本地Maven回购。在由存储库管理器管理的远程回购上,快照通常具有时间戳+序列限定符,例如Nexus:“谢谢”。POM参考非常有用,因为它定义了:“除了以下按此顺序排在第一位的令牌之外”,SemVer排序不适用。这些实际上列出了我在回答中的所有示例。