在 Maven 项目和 git 配合使用时,有时候不同的分支会需要用不同的版本。举个例子:首先分支 A 中使用 <version>1.0-A-SNAPSHOT</version>,然后在其基础上创建分支 B,在分支 B 中修改了 pom.xml,使用 <version>1.0-B-SNAPSHOT</version>。之后当需要从 B 合并到 A 时,就会发现 pom.xml 的修改也合并过来了,使得 A 分支变成了 <version>1.0-B-SNAPSHOT</version>。这当然令人不爽。下面介绍一个 Maven 插件,允许你将当前分支作为变量放入 <version> 元素。只要在 pom 的 <build> -> <plugins> 中加入以下插件:<plugin> <groupId>pl.project13.maven</groupId> <artifactId>git-commit-id-plugin</artifactId> <version>2.2.6</version> <executions> <execution> <id>get-the-git-infos</id> <goals> <goal>revision</goal> </goals> <phase>initialize</phase> </execution> <execution> <id>validate-the-git-infos</id> <goals> <goal>validateRevision</goal> </goals> <phase>package</phase> </execution> </executions></plugin>插件的最新版本在这里查看。之后不论你在哪个分支,都可以统一用下面的版本号了:<version>${git.branch}</version>