6

多くの 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}定義されていますか?

4

1 に答える 1

5

通常、MavenProjectJavaDocsから始めて、プロパティ パスをクリックします。

MavenProject-> .getArtifact()-> Artifact-> .getSelectedVersion()-> ArtifactVersion->.getMajorVersion()

pom.xml のすべての XML 要素に対して、対応する JavaBean プロパティがMavenProjectにあり、ピリオドはプロパティのプロパティへのパスを区切ります。

于 2013-04-30T14:56:11.650 に答える