mir*_*one 6 snapshot rc maven versions-maven-plugin
我的目标是发布一个具有单一依赖关系的项目.我有一个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
{
result = qualifier.compareTo( otherQualifier );
}
}
Run Code Online (Sandbox Code Playgroud)
这对我来说似乎有些问题.任何的想法?
Maven版本号包括如下:
<major version>.<minor version>.<incremental version>-<qualifier>
Run Code Online (Sandbox Code Playgroud)
如果所有版本号都相等,则按字母顺序比较限定符."RC1"和"SNAPSHOT"并且与"a"和"b"的排序没有区别.因此,"SNAPSHOT"被认为是更新的,因为它按字母顺序更大.请参阅此页面作为参考.
请注意,a.b.c-RC1-SNAPSHOT它将被视为比a.b.c-RC1.
我不确定该解决方案的建议 - 这就是Maven版本控制的工作方式.
截至https://docs.oracle.com/middleware/1212/core/MAVEN/maven_version.htm
所有带限定符的版本都比不带限定符的同一版本(发布版本)旧。
例如:
1.2-beta-2 早于 1.2。
使用基本字符串比较来比较具有不同限定符字段的相同版本。
例如:
1.2-beta-2 比 1.2-alpha-6 更新。
和
Maven 对待 SNAPSHOT 限定符的方式与其他限定符不同。如果版本号后跟 -SNAPSHOT,则 Maven 会将其视为关联的 MajorVersion、MinorVersion 或 IncrementalVersion 的“尚未发布”版本。
| 归档时间: |
|
| 查看次数: |
8532 次 |
| 最近记录: |