我在许多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>
...
Run Code Online (Sandbox Code Playgroud)
此属性不在标准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}......(并且defaultPrefix我没有在那些正在查看的pom.xml文件中定义)
那么,变量${project.artifact.selectedVersion.majorVersion}定义在哪里?
做事情通常是从开始的MavenProjectJavaDoc中,并通过点击属性路径.
MavenProject- > .getArtifact()- > Artifact- > .getSelectedVersion()- > ArtifactVersion- >.getMajorVersion()
对于pom.xml中的每个XML元素,都有相应的JavaBean属性MavenProject,而句点分隔属性属性的路径.
| 归档时间: |
|
| 查看次数: |
1768 次 |
| 最近记录: |