Maven Artifact.getBaseVersion()的用例
除了Maven Artifact.getBaseVersion()的用例,maven,maven-plugin,Maven,Maven Plugin,除了getVersion()之外,该接口还提供了getBaseVersion()。基本版本在setBaseVersionInternal(字符串)中设置,如下所示: Matcher m = VERSION_FILE_PATTERN.matcher( baseVersion ); if ( m.matches() ) { this.baseVersion = m.group( 1 ) + "-" + SNAPSHOT_VERSION; } else { this.baseVers
getVersion()
之外,该接口还提供了getBaseVersion()
。基本版本在setBaseVersionInternal(字符串)
中设置,如下所示:
Matcher m = VERSION_FILE_PATTERN.matcher( baseVersion );
if ( m.matches() )
{
this.baseVersion = m.group( 1 ) + "-" + SNAPSHOT_VERSION;
}
else
{
this.baseVersion = baseVersion;
}
我对两个不同版本字符串的语义一无所知。
getBaseVersion()
的返回值何时与getVersion()
实际不同,原因是什么?快照有两种类型:唯一和非唯一。后者以-SNAPSHOT
结尾,在您自己的系统上处理项目时生成。mvn安装
将使用-SNAPSHOT版本将工件复制到本地存储库
如果您使用来自远程存储库的快照,那么这些工件将被加上时间戳(以时间戳的人性化表示形式结束),这使得它们是唯一的。这与将快照上载到远程存储库的方式有关。快照有两种类型:唯一和非唯一。后者以
-SNAPSHOT
结尾,在您自己的系统上处理项目时生成。mvn安装
将使用-SNAPSHOT版本将工件复制到本地存储库
如果您使用来自远程存储库的快照,那么这些工件将被加上时间戳(以时间戳的人性化表示形式结束),这使得它们是唯一的。这与它们上载到远程存储库的方式有关。谢谢,但是。。为什么
getBaseVersion()
?我假设getVersion()
可能是一个“未经验证”的版本,包括一个时间戳,而getBaseVersion()
总是返回POM中的版本字符串?当谈论maven插件时,这取决于它们需要什么。大多数插件对它的独特价值不感兴趣,但是它是否是快照。在这种情况下,应该使用getBaseVersion()
。在引用实际文件时,您可能需要getVersion()
。举个例子:看看它是否应该尊重时间戳?可能不是,您只是想知道它是否是同一个快照。谢谢,但是。。为什么getBaseVersion()
?我假设getVersion()
可能是一个“未经验证”的版本,包括一个时间戳,而getBaseVersion()
总是返回POM中的版本字符串?当谈论maven插件时,这取决于它们需要什么。大多数插件对它的独特价值不感兴趣,但是它是否是快照。在这种情况下,应该使用getBaseVersion()
。在引用实际文件时,您可能需要getVersion()
。举个例子:看看它是否应该尊重时间戳?可能不是,您只想知道它是否是同一个快照。