是否可以获得<Major>.<Minor>.<Patch>
的主要版本(project.version
)?
例如,如果我的版本是1.3.4
,我希望1
稍后在同一个pom.xml的配置中使用它
类似的东西:
<configuration>
<name>project_name.${project.version:major}</name>
</configuration>
如果没有,有哪些替代方案?
答案 0 :(得分:29)
找到它。 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>
答案 1 :(得分:9)
这适用于Maven 3.3.9:
${project.artifact.selectedVersion.majorVersion}
答案 2 :(得分:0)
版本不一定属于您描述的结构。
Maven具有尾随数字的约定,但您不必使用它们。
如果你有一个你想要反汇编的约定,你可以编写自己的maven插件,在你定义它们时为几个部分设置几个属性。