我正在试图弄清楚Maven的政策是否适用于自定义限定符.我知道maven检查的Version字符串中存在特定的限定符,例如:
1.0.0-SNAPSHOT
5.3.0-β-5
等,但我想知道我是否可以编写特定的规则或可以处理自定义限定符的东西,例如:
1.0.0-mybranch
5.3.0-myotherbranch
或者maven如何处理这样的版本字符串.我已经尝试过它们,事情似乎没问题,我只是想知道Maven是否有一些可以使用的自定义逻辑.
谢谢!
我的目标是发布一个具有单一依赖关系的项目.我有一个nexus存储库,我可以部署快照和发布版本.
我有一个依赖
group:artifact:1.1.0-SNAPSHOT
Run Code Online (Sandbox Code Playgroud)
以下发布候选版本在我的nexus回购中发布
group:artifact:1.1.0-RC1
Run Code Online (Sandbox Code Playgroud)
当要求版本插件来解决依赖关系时,它声称没有新的依赖项可用.所以他考虑到了
1.1.0-SNAPSHOT > 1.1.0-RC1
Run Code Online (Sandbox Code Playgroud)
但是,如果在我的项目中,我有版本1.0.0-SNAPSHOT,版本1.1.0-RC1被解析为最新版本.
我错过了什么?(我查看了插件来源,我们有以下代码段:
String otherQualifier = otherVersion.getQualifier();
if ( otherQualifier != null )
{
if ( ( qualifier.length() > otherQualifier.length() )
&& qualifier.startsWith( otherQualifier ) )
{
// here, the longer one that otherwise match is considered older
result = -1;
}
else if ( ( qualifier.length() < otherQualifier.length() )
&& otherQualifier.startsWith( qualifier ) )
{
// here, the longer one that otherwise match is considered older
result = 1;
}
else …Run Code Online (Sandbox Code Playgroud)