Как получить Семь Главной части версии Maven? - PullRequest
17 голосов
/ 25 марта 2011

Можно ли получить главную версию (<Major>.<Minor>.<Patch>) project.version?

Например, если моя версия 1.3.4, я хотел бы получить 1, чтобы позже использовать ее в конфигурации того же pom.xml

Что-то вроде:

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

Если нет, каковы альтернативы?

Ответы [ 3 ]

30 голосов
/ 25 марта 2011

Нашел это. 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>
9 голосов
/ 15 июня 2016

Это работает на Maven 3.3.9:

${project.artifact.selectedVersion.majorVersion}
0 голосов
/ 25 марта 2011

Версии не обязательно входят в структуру, которую вы описываете.

У Maven есть условные обозначения для конечных чисел, но вам не нужно их использовать.

Если у вас есть соглашение, которое вам нравится разбирать, вы можете написать свой собственный плагин maven, который устанавливает несколько свойств для нескольких частей по мере их определения.

...