【问题标题】:Can maven handle custom qualifiers?maven 可以处理自定义限定符吗?
【发布时间】:2011-10-27 16:16:45
【问题描述】:

我试图弄清楚 Maven 的政策是否适用于自定义限定符。我知道 Maven 检查的版本字符串中存在特定的限定符,例如:

1.0.0-快照

5.3.0-beta-5

等,但我想知道是否可以编写特定规则或可以处理自定义限定符的东西,例如:

1.0.0-mybranch

5.3.0-myotherbranch

或者 maven 将如何处理这样的版本字符串。我已经尝试过了,似乎一切正常,我只是想知道 Maven 是否有一些可以使用的自定义逻辑。

谢谢!

【问题讨论】:

标签: maven qualifiers


【解决方案1】:

这些示例可以正常工作。

限定词除了:

  • SNAPSHOT,它被转换为正确的时间戳/内部版本号
  • 纯数值,实际上是内部版本号而不是限定符(并且被认为比相应的基本版本更新)

所有限定符都被认为比相关版本更早,即 1.2-beta-1

限定符的比较是作为字符串比较完成的。这种行为在 Maven 2.x 和 Maven 3.x 中可能有所不同(在前者中,1.0-beta-10

【讨论】:

    【解决方案2】:

    2011 年的答案现在在许多重要细节上已经过时。有关当前版本处理逻辑,请参阅https://maven.apache.org/ref/3.3.9/maven-artifact/apidocs/org/apache/maven/artifact/versioning/ComparableVersion.html 上的 Javadoc 和那里的 Wiki 链接。

    参考How does maven sort version numbers?ComparableVersion 的 Javadoc 的评论。

    【讨论】:

    • 请不要只添加链接问题。至少,添加规则摘要。
    • 这本质上是一个“去阅读源代码”的答案。我认为如果链接断开,链接的结构足以指示类在源中查找。链接的问题包含完整的当前详细信息。也许让我们把这个作为重复项关闭?
    • 你可以肯定地投票。虽然,在我个人看来,这是一个有点不同的问题。如果我是你,我会简单地添加与使用 Maven 3 的自定义限定符相关的信息。但是,尽管是指向良好文本的链接,但不鼓励仅提供链接答案。您也可以将链接添加为原始答案的评论,而不是编写完整的答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多