行家 $project.version.prefix
Posted
技术标签:
【中文标题】行家 $project.version.prefix【英文标题】:maven $project.version.prefix行家 $project.version.prefix 【发布时间】:2019-06-18 10:27:26 【问题描述】:我们有一个多模块 java 项目,其中每个模块都有 pom.xml。我看到我们在 pom.xml 中有 $project.version ,它基本上获取了项目版本。有没有像 $project.version.prefix 这样的东西也会得到项目版本减去 SNAPSHOT?
【问题讨论】:
【参考方案1】:Maven 中没有任何固有的东西可以用于此,但您可以配置 build-helper-maven-plugin 来设置一个属性,您可以在其中解析数据。
【讨论】:
【参考方案2】:使用 build-helper-maven-plugin(通过 build helper plugin not parsing project version)
maven-antrun-plugin 仅用于显示结果
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>build-helper-maven-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<phase>validate</phase>
<id>parse-version</id>
<goals>
<goal>parse-version</goal>
</goals>
<configuration>
<propertyPrefix>parsedVersion</propertyPrefix>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.1</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<echo>Major: $parsedVersion.majorVersion</echo>
<echo>Minor: $parsedVersion.minorVersion</echo>
<echo>Incremental: $parsedVersion.incrementalVersion</echo>
<echo>Qualifier: $parsedVersion.qualifier</echo>
<echo>BuildNumber: $parsedVersion.buildNumber</echo>
<echo>Project version: $project.version</echo>
<echo>No qualifier: $parsedVersion.majorVersion.$parsedVersion.minorVersion.$parsedVersion.incrementalVersion</echo>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
输出:
[INFO] --- maven-antrun-plugin:1.1:run (default) @ XXX ---
[INFO] Executing tasks
[echo] Major: 1
[echo] Minor: 2
[echo] Incremental: 0
[echo] Qualifier: SNAPSHOT
[echo] BuildNumber: 0
[echo] Project version: 1.2.0-SNAPSHOT
[echo] No qualifier: 1.2.0
【讨论】:
以上是关于行家 $project.version.prefix的主要内容,如果未能解决你的问题,请参考以下文章