Maven 可以处理自定义限定符吗?
我试图弄清楚 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这些例子会很好地工作。
限定符没有特殊含义,除了:
所有限定符都被认为是早于相关版本,即 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:
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).
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
.