我使用buildnumber-maven-plugin
,我需要从svn获取构建版本的项目。我的pom.xml:
<scm>
<connection>
scm:svn:https://username:password@path_to_repositiry
</connection>
</scm>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>buildnumber-maven-plugin</artifactId>
<version>1.1</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>create</goal>
</goals>
</execution>
</executions>
<configuration>
<doCheck>false</doCheck>
<doUpdate>false</doUpdate>
<providerImplementations>
<svn>javasvn</svn>
</providerImplementations>
</configuration>
<dependencies>
<dependency>
<groupId>com.google.code.maven-scm-provider-svnjava</groupId>
<artifactId>maven-scm-provider-svnjava</artifactId>
<version>2.0.2</version>
</dependency>
<dependency>
<groupId>org.tmatesoft.svnkit</groupId>
<artifactId>svnkit</artifactId>
<version>1.7.4-v1</version>
</dependency>
</dependencies>
</plugin>
但是当我打包一个项目时,我有错误:
[ERROR] Failed to execute goal org.codehaus.mojo:buildnumber-maven-plugin:1.1:create (default)on project myproject: Cannot get the revision information from the scm repository : [ERROR] Exception while executing SCM command. svn: E155021: This client is too old to work with the working copy at [ERROR] 'D:\projects\myproject' (format {1}).
虽然我使用TortoiseSVN 1.8.2!
我读到buildnumber-maven-plugin
使用TortoiseSVN 1.7及更早版本的行为。
如何使用SVN和Maven获取内部版本号?
答案 0 :(得分:7)
buildnumber插件将访问您的工作副本以获取修订版本,因为您使用TortoiseSVN 1.8.x,您的工作副本采用svn 1.8.x格式。因此,buildnumber插件使用的svnkit也需要支持svn 1.8.x,你使用的版本(1.7.4-v1)很可能不支持。
因此,您需要更新版本的svnkit,例如
<dependency>
<groupId>org.tmatesoft.svnkit</groupId>
<artifactId>svnkit</artifactId>
<version>1.8.3-1</version>
</dependency>