0

我从其他人那里获得了一个使用 svnant 的 ant 构建文件,但我在让它工作时遇到了问题。我将导致我出现问题的部分提取到一个单独的文件中:

<project name="rev-check macrodef">
    <sequential>    
        <!-- ant contrib task definition -->
        <taskdef resource="net/sf/antcontrib/antlib.xml">
          <classpath>
            <pathelement location="C:/rms-it-apps/ant/taskdefs/ant-contrib-1.0b3.jar"/>
          </classpath>
        </taskdef>

        <taskdef resource="org/tigris/subversion/svnant/svnantlib.xml" loaderref="svnant.loader">
          <classpath>
            <pathelement location="C:/rms-it-apps/ant/taskdefs/svnant-1.3.1/lib/svnant.jar"/>
            <pathelement location="C:/rms-it-apps/ant/taskdefs/svnant-1.3.1/lib/svnClientAdapter.jar"/>
            <pathelement location="C:/rms-it-apps/ant/taskdefs/svnant-1.3.1/lib/svnjavahl.jar"/>
           </classpath>
        </taskdef>
    </sequential>
    <!-- <svn svnkit="false" javahl="false"> -->
    <svn>
        <info target="C:/dev/workspace/rmsitpew/PEW/src" />
        <wcversion prefix="wc" path="C:/dev/workspace/rmsitpew/PEW/src" />
    </svn>
    <echo>Here 1</echo>

当我尝试仅使用<svn>标签运行它时,我得到以下输出:

C:\dev\svnant>runant

C:\dev\svnant>C:\Programs\eclipse\plugins\org.apache.ant_1.8.2.v20120109-1030\bi
n\ant.bat
Buildfile: C:\dev\svnant\build.xml
      [svn] Missing 'javahl' dependencies on the classpath !

BUILD FAILED
C:\dev\svnant\build.xml:19: Cannot find javahl, svnkit nor command line svn clie
nt

Total time: 0 seconds

我看到了一个使用标签运行它的建议,<svn svnkit="false" javahl="false">但后来我得到了这个输出:

C:\dev\svnant>C:\Programs\eclipse\plugins\org.apache.ant_1.8.2.v20120109-1030\bi
n\ant.bat
Buildfile: C:\dev\svnant\build.xml
      [svn] Deprecated attribute 'svnkit'. This attribute will disappear with SV
NANT 1.3.2. Use svnSetting instead.
      [svn] Deprecated attribute 'javahl'. This attribute will disappear with SV
NANT 1.3.2. Use svnSetting instead.
      [svn] svn: The path 'C:\dev\workspace\rmsitpew\PEW\src' appears to be part
 of a Subversion 1.7 or greater
      [svn] working copy rooted at 'C:\dev\workspace\rmsitpew'.
      [svn] Please upgrade your Subversion client to use this working copy.
      [svn] <Info> failed.

BUILD FAILED
C:\dev\svnant\build.xml:18: Failed to set 'info' properties

以下是目录 C:\rms-it-apps\ant\taskdefs\svnant-1.3.1\lib 的内容:

04/05/2012  10:44 AM             3,010 GANYMED-LICENSE
04/05/2012  10:44 AM           244,831 ganymed.jar
04/05/2012  10:44 AM             2,800 JAVAHL-LICENSE
04/05/2012  10:44 AM               544 JNA-LICENSE
04/05/2012  10:44 AM           948,100 jna.jar
04/05/2012  10:44 AM             2,276 SEQUENCE-LICENSE
04/05/2012  10:44 AM            76,383 svnant.jar
04/05/2012  10:44 AM            11,935 SVNCLIENTADAPTER-LICENSE
04/05/2012  10:44 AM           215,757 svnClientAdapter.jar
04/05/2012  10:44 AM            89,412 svnjavahl.jar
04/05/2012  10:44 AM             2,695 SVNKit-LICENSE
4

1 回答 1

1

一些问题:

  • 您的命令行客户端 (svn) 似乎比您用于签出/创建工作副本的客户端版本旧。您在 ant 中使用的 svn 版本必须与您在此工作副本上使用的其他 svn 工具完全相同。该错误提示您需要将命令行客户端更新为 1.7 版本
  • javahl 需要在 windows 中安装一些奇怪的库。有关详细信息,请参见此处。或者询问提供任务的人。
  • 您可以首先忽略已弃用的警告。并在一切正常时修复它。

我建议坚持使用命令行客户端或使用 svnkit。

在这里,您可以找到所有可用工具的总体概述,您可以将其与 ant 任务一起使用。

于 2012-04-06T04:50:29.230 回答