19

<Major>.<Minor>.<Patch>のメジャー バージョン ( )を入手できproject.versionますか?

たとえば、私のバージョンがの場合、後で同じ pom.xml の構成で使用できる1.3.4ようにしたい1

何かのようなもの:

<configuration>
  <name>project_name.${project.version:major}</name>
</configuration>

そうでない場合、代替手段は何ですか?

4

3 に答える 3

33

それを見つけた。build-helper-maven-pluginには、バージョンのコンポーネントを解析する機能があります。

  <build>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>build-helper-maven-plugin</artifactId>
        <version>1.5</version>
        <executions>
          <execution>
            <phase>initialize</phase>
            <id>parse-version</id>
            <goals>
              <goal>parse-version</goal>
            </goals>
          </execution>
        </executions>
      </plugin>

      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-antrun-plugin</artifactId>
        <version>1.1</version>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>run</goal>
            </goals>
            <configuration>
              <tasks>
                <echo>[version] ${project.version}</echo>
                <echo>[majorVersion] ${parsedVersion.majorVersion}</echo>
              </tasks>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
于 2011-03-24T22:34:43.887 に答える
12

これは Maven 3.3.9 で機能します。

${project.artifact.selectedVersion.majorVersion}
于 2016-06-15T06:56:07.180 に答える
1

バージョンは、必ずしも記述した構造で提供されるとは限りません。

Maven には末尾の数字に関する規則がありますが、それらを使用する必要はありません。

逆アセンブルしたい規則がある場合は、定義時にいくつかのプロパティをいくつかの部分に設定する独自の Maven プラグインを作成できます。

于 2011-03-24T22:26:11.207 に答える