java - 行家 ${project.version.prefix}
问题描述
我们有一个多模块 java 项目,其中每个模块都有 pom.xml。我看到我们在 pom.xml 中有 ${project.version} ,它基本上获取了项目版本。有没有像 ${project.version.prefix} 这样的东西也会得到项目版本减去 SNAPSHOT?
解决方案
使用 build-helper-maven-plugin (通过build helper 插件不解析项目版本)
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
推荐阅读
- android - Android MediaSessionCompat onMediaButtonEvent 不起作用
- raspberry-pi - 通过 USB 将文件复制到 Ender 3 SD 卡,无需 Octipi/Octoprint
- node.js - 使用 Express (nodejs) 在运行时声明路由
- c# - 带有预测结果的搜索框
- flutter - 使用 typeahead 进行颤振搜索
- html - 如何防止 li 文本进入按钮下方
- jags - 有没有办法在 rjags 中保存每 100 次迭代的输出?
- ruby-on-rails - debase gem 在安装时在我面前爆炸
- java - 引用不同文件中的 avro 模式不起作用 - avro 引发错误
- flutter - 颤振我正在尝试向我的应用程序添加一个 tabbarview,但没有任何效果,我想要一个标签来显示来自巴西和另一个来自世界的案例