Maven 可以处理自定义限定符吗?

发布于 2024-11-29 11:29:35 字数 297 浏览 4 评论 0原文

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

1.0.0-SNAPSHOT

5.3.0-beta-5

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

1.0.0-mybranch

5.3.0-myotherbranch

或者 maven 如何处理此类版本字符串。我已经尝试过,一切似乎都不错,我只是想知道 Maven 是否有一些可以使用的自定义逻辑。

谢谢!

I'm trying to figure out if what Maven's policy is on custom qualifiers. I know that there exists specific qualifiers in Version strings that maven checks for, such as:

1.0.0-SNAPSHOT

5.3.0-beta-5

etc, but I was wondering if I could write specific rules or something that could handle custom qualifiers, such as:

1.0.0-mybranch

5.3.0-myotherbranch

or how maven would deal with such version strings. I've tried them out and things seem to be ok, I'm just wondering if Maven has some custom logic that could be used.

Thanks!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

赠佳期 2024-12-06 11:29:35

这些例子会很好地工作。

限定符没有特殊含义,除了:

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

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

限定符的比较是作为字符串比较来完成的。此行为在 Maven 2.x 和 Maven 3.x 中可能有所不同(在前者中,1.0-beta-10 < 1.0-beta-5,在后者中,其行为与您期望的相反)。

These examples will work fine.

Qualifiers have no special meaning other than:

  • SNAPSHOT, which gets transformed into the correct timestamp / build number
  • solely numerical values, which are actually a build number instead of a qualifier (and considered newer than the corresponding base version)

All qualifiers are considered to be older than the associated release, i.e. 1.2-beta-1 < 1.2

Comparison of qualifiers is done as a string comparison. This behaviour can differ in Maven 2.x and Maven 3.x (in the former, 1.0-beta-10 < 1.0-beta-5, in the latter it behaves in the reverse as you'd expect).

混吃等死 2024-12-06 11:29:35

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

cf Maven 如何对版本号进行排序? 的评论ComparableVersion 的 Javadoc。

The 2011 answer is now obsolete in many important details. See the Javadoc on https://maven.apache.org/ref/3.3.9/maven-artifact/apidocs/org/apache/maven/artifact/versioning/ComparableVersion.html and the Wiki link there for the current version processing logic.

c.f. How does maven sort version numbers? for commentary on the Javadoc for ComparableVersion.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文