You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置jgitver Maven插件让版本号包含Git提交哈希并保留SNAPSHOT标记?

当然可以实现!

jgitver Maven插件提供了高度灵活的版本格式配置能力,完全能满足你想要的带Git短提交哈希的版本号需求,同时保留非标签提交的SNAPSHOT后缀。下面是具体的配置方案:

配置示例

在你的pom.xml中添加或修改jgitver插件的配置,重点通过<versionPatterns>区分标签场景和普通提交场景的版本格式:

<build>
    <plugins>
        <plugin>
            <groupId>fr.brouillard.oss</groupId>
            <artifactId>jgitver-maven-plugin</artifactId>
            <version>1.9.0</version> <!-- 建议使用最新稳定版本 -->
            <executions>
                <execution>
                    <id>set-project-version</id>
                    <goals>
                        <goal>version</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <!-- 开启提交哈希的获取,才能使用%commit.short%占位符 -->
                <useGitCommitId>true</useGitCommitId>
                <!-- 定义不同场景的版本格式 -->
                <versionPatterns>
                    <!-- 场景1:当前HEAD在Git标签上时的版本格式 -->
                    <pattern>%version%-%commit.short%</pattern>
                    <!-- 场景2:当前HEAD在普通提交(非标签)时的版本格式 -->
                    <pattern>%version%-%commit.short%-SNAPSHOT</pattern>
                </versionPatterns>
                <!-- 可选:如果你的标签格式不是默认的v前缀,可调整tagPattern,比如匹配不带v的标签 -->
                <!-- <tagPattern>[0-9]+(?:\.[0-9]+)*</tagPattern> -->
            </configuration>
        </plugin>
    </plugins>
</build>

配置说明

  • <useGitCommitId>true</useGitCommitId>:必须开启这个配置,插件才会获取Git提交的哈希值,供%commit.short%占位符使用(%commit.short%对应7位的短哈希)。
  • <versionPatterns>中的两个规则:
    1. 第一个规则会优先匹配当前HEAD处于Git标签上的场景,生成基础版本-短哈希格式(比如标签v1.0.0对应1.0.0-162ad57)。
    2. 第二个规则匹配非标签的普通提交场景,jgitver会自动增量版本号后,生成增量版本-短哈希-SNAPSHOT格式(比如提交后生成1.0.1-ff8cb8a-SNAPSHOT)。
  • 默认的标签匹配规则已经支持v前缀的标签(如v1.0.0),如果你的标签格式不同,可以通过<tagPattern>自定义匹配正则。

验证效果

  1. 当你的代码处于v1.0.0标签对应的提交时,执行mvn help:evaluate -Dexpression=project.version -q -DforceStdout,会输出类似1.0.0-162ad57的版本号。
  2. 当你提交一次代码后(脱离标签),执行同样的命令,会输出类似1.0.1-ff8cb8a-SNAPSHOT的版本号,完全符合你的需求。

内容的提问来源于stack exchange,提问作者Brixomatic

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 03:56:29