所以,我有一个 Java 项目,我为它构建了一个(相当复杂的)ANT 构建文件。在这个文件中,我有编译、JAR 和测试我的代码的目标,它们都运行良好。
这个项目的有趣之处在于团队成员正在他们的个人计算机上工作,其中许多都在 Windows 7 上运行 Eclipse Juno。我不能保证我添加到 ANT 的任何库都可以在其他成员的计算机上使用. 所以,我试图在运行时引用所有必要的库。但是,当我尝试获取当前版本号时出现错误。
错误:
svntest:
[echo] Svn4Ant: JWare AntXtras/Svn4Ant 3.0.0, Aug-22-2011, SVNKit: SVN/1.7.8 SVNKit/1.7.8 (http://svnkit.com/) r9538_v20130107_2001
[svn:revget] Unable to execute svnclient subcommand revget. Reason: "svn: E155021: The path {Project Repository} appears to be part of a Subversion 1.7 or greater
[svn:revget] working copy. Please upgrade your Subversion client to use this
[svn:revget] working copy.".
ANT 类路径:
AntClassLoader[C:\Users\User\workspace\RoboLib\utils\ant-commons-net.jar;
C:\Users\User\workspace\RoboLib\utils\ant-googlecode-0.0.3.jar;
C:\Users\User\workspace\RoboLib\utils\commons-net-3.2.jar;
C:\Users\User\workspace\RoboLib\utils\jw-antxtras.jar;
C:\Users\User\workspace\RoboLib\utils\jw-svn4ant-admin.jar;
C:\Users\User\workspace\RoboLib\utils\jw-svn4ant.jar;
C:\Users\User\workspace\RoboLib\utils\svnkit-1.7.8.jar;
C:\Users\User\workspace\RoboLib\utils\svnkit-cli-1.7.8.jar;
C:\Users\User\workspace\RoboLib\utils\svnkit-javahl16-1.7.8.jar]
所有这些库都是最新版本,它们正在测试的系统是在 Windows 7 上运行的 Eclipse Juno。
相关的 ANT 目标:
<project default="run" name="WAVE RoboLib SDK" basedir="." xmlns:svn="jwaresoftware.svn4ant.client">
...
<target name="svntest">
<taskdef uri="jwaresoftware.svn4ant.client"
resource="org/jwaresoftware/svn4ant/client/antlib.xml">
<classpath>
<fileset dir="utils/">
<include name="**.jar"/>
</fileset>
</classpath>
</taskdef>
<svn:libcheck/>
<echo message="Svn4Ant: ${svn4ant.label}, SVNKit: ${svnkit.label}"/>
<svn:server id="my.repo" isdefault="yes" authcache="no" >
<url value="${svn.url}"/>
<credential username="un" password="pw"/>
</svn:server>
<svn:revget path="." property="build.reporev" />
<echo message="${build.reporev}" />
</target>
</project>