我在许多 pom.xml 文件中看到使用此属性: ${project.artifact.selectedVersion.majorVersion}
比如在:
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>my_group</groupId>
<artifactId>my_artifact</artifactId>
<packaging>pom</packaging>
<version>1.2.3-SNAPSHOT</version>
<properties>
<ver>${project.artifact.selectedVersion.majorVersion}</ver>
...
此属性不在标准 maven 中: http: //docs.codehaus.org/display/MAVENUSER/MavenPropertiesGuide
那么,这个变量是在哪里定义的呢?
我看到它有 build-helper-maven-plugin 插件:http: //mojo.codehaus.org/build-helper-maven-plugin/parse-version-mojo.html
它可以将变量解析为majorVersion
and minorVersion
,但默认defaultPrefix
是parsedVersion.{majorVersion, minorVersion}
, 而不是project.artifact.selectedVersion.{majorVersion, minorVersion}
... (并且在defaultPrefix
我正在查看的那些 pom.xml 文件中没有定义)
那么,变量在哪里${project.artifact.selectedVersion.majorVersion}
定义?