1
Artifact接口提供getBaseVersion()
,除了getVersion()
。基礎版本被設置在setBaseVersionInternal(String)
,如下所示:使用案例Artifact.getBaseVersion()
Matcher m = VERSION_FILE_PATTERN.matcher(baseVersion);
if (m.matches())
{
this.baseVersion = m.group(1) + "-" + SNAPSHOT_VERSION;
}
else
{
this.baseVersion = baseVersion;
}
我無能相對於兩個不同的版本字符串的語義。 getBaseVersion()
的返回值是什麼時候與getVersion()
實際不同,爲什麼?
謝謝,但..爲什麼'getBaseVersion()'?我想'getVersion()'可能是一個「uniquified」版本,包括時間戳,而'getBaseVersion()'總是返回POM中發現的版本字符串? – wau
在討論maven-plugins時,它只是取決於他們需要的東西。大多數插件對其獨特的價值不感興趣,但是如果它是SNAPSHOT或不是。在這種情況下,你應該使用'getBaseVersion()'。當提到實際的文件時,你可能需要'getVersion()'。一個例子:請看http://maven.apache.org/enforcer/enforcer-rules/dependencyConvergence.html它應該尊重時間戳嗎?可能不會,你只是想知道它是否是相同的SNAPSHOT。 –