我在许多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和minorVersion,但是默认的defaultPrefix是parsedVersion.{majorVersion, minorVersion},而不是project.artifact.selectedVersion.{majorVersion, minorVersion}...(并且在我正在查看的那些pom.xml文件中没有定义defaultPrefix )
那么,变量${project.artifact.selectedVersion.majorVersion}是在哪里定义的呢?
发布于 2013-04-30 22:56:12
要做的事情通常是从the MavenProject JavaDocs开始,然后单击属性路径。
MavenProject -> .getArtifact() -> Artifact -> .getSelectedVersion() -> ArtifactVersion -> .getMajorVersion()
对于pom.xml中的每个XML元素,在MavenProject中都有一个对应的JavaBean属性,句点分隔属性的路径。
https://stackoverflow.com/questions/16302247
复制相似问题