在 buildnumber-maven-plugin 中切换 git provider
Switch git provider in buildnumber-maven-plugin
当使用 buildnumber-maven-plugin
时,如果在命令行构建期间 %PATH%
中没有 git 可执行文件,则执行失败:
[ERROR] Failed to execute goal org.codehaus.mojo:buildnumber-maven-plugin:1.4:create (default) on project test: Cannot get the revision information from the scm repository :
[ERROR] Exception while executing SCM command. Error while executing command. Error while executing process. Cannot run program "git" (in directory "C:\dev\test"): CreateProcess error=2, Das System kann die angegebene Datei nicht finden
但是,当通过 eclipse Run as -> Maven clean verify
执行相同的构建时,可以检索提交 ID。
因为它在 eclipse 中工作,我尝试使用 maven-scm-provider-jgit
而不是 maven-scm-provider-gitexe
和 buildnumber-maven-plugin
,但显然我没有正确配置它。
这是我pom.xml的相关部分:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>create</goal>
</goals>
</execution>
</executions>
<configuration>
<doCheck>false</doCheck>
<doUpdate>false</doUpdate>
</configuration>
<dependencies>
<dependency>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-provider-jgit</artifactId>
<version>1.9.4</version>
</dependency>
</dependencies>
</plugin>
如何切换到maven-scm-provider-jgit
?
buildnumber-maven-plugin
需要知道要使用哪个 git 提供商。以下配置将 git 提供程序更改为 jgit
。
必须至少使用 maven-scm-provider-jgit
的版本 1.9.5
,因为 InfoCommand 未在 1.9.4
中实现。
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>create</goal>
</goals>
</execution>
</executions>
<configuration>
<doCheck>false</doCheck>
<doUpdate>false</doUpdate>
<providerImplementations>
<git>jgit</git>
</providerImplementations>
</configuration>
<dependencies>
<dependency>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-provider-jgit</artifactId>
<version>1.9.5</version>
</dependency>
</dependencies>
</plugin>
当使用 buildnumber-maven-plugin
时,如果在命令行构建期间 %PATH%
中没有 git 可执行文件,则执行失败:
[ERROR] Failed to execute goal org.codehaus.mojo:buildnumber-maven-plugin:1.4:create (default) on project test: Cannot get the revision information from the scm repository : [ERROR] Exception while executing SCM command. Error while executing command. Error while executing process. Cannot run program "git" (in directory "C:\dev\test"): CreateProcess error=2, Das System kann die angegebene Datei nicht finden
但是,当通过 eclipse Run as -> Maven clean verify
执行相同的构建时,可以检索提交 ID。
因为它在 eclipse 中工作,我尝试使用 maven-scm-provider-jgit
而不是 maven-scm-provider-gitexe
和 buildnumber-maven-plugin
,但显然我没有正确配置它。
这是我pom.xml的相关部分:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>create</goal>
</goals>
</execution>
</executions>
<configuration>
<doCheck>false</doCheck>
<doUpdate>false</doUpdate>
</configuration>
<dependencies>
<dependency>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-provider-jgit</artifactId>
<version>1.9.4</version>
</dependency>
</dependencies>
</plugin>
如何切换到maven-scm-provider-jgit
?
buildnumber-maven-plugin
需要知道要使用哪个 git 提供商。以下配置将 git 提供程序更改为 jgit
。
必须至少使用 maven-scm-provider-jgit
的版本 1.9.5
,因为 InfoCommand 未在 1.9.4
中实现。
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>1.4</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>create</goal>
</goals>
</execution>
</executions>
<configuration>
<doCheck>false</doCheck>
<doUpdate>false</doUpdate>
<providerImplementations>
<git>jgit</git>
</providerImplementations>
</configuration>
<dependencies>
<dependency>
<groupId>org.apache.maven.scm</groupId>
<artifactId>maven-scm-provider-jgit</artifactId>
<version>1.9.5</version>
</dependency>
</dependencies>
</plugin>