我想使用SvnAnt从我们的svn存储库中签出最新的代码,构建并部署它。我已经完成了所有其他部分,只剩下签出部分了。我使用的是svnant 1.2.1。但在svnant.jar中,我只找到了*.xml文件。下面是我为同样的事情所做的:
<?xml version="1.0"?>
<project name="Update" basedir="." default="update">
<!-- all properties are in build.properties -->
<property file="build.properties" />
<path id="project.classpath">
<pathelement location="${svnjavahl.jar}" />
<pathelement location="${svnant.jar}" />
<pathelement location="${svnClientAdapter.jar}" />
</path>
<property name="project.svn.url" value="projectURL" />
<typedef resource="org/tigris/subversion/svnant/svnantlib.xml" classpathref="project.classpath"/>
<target name="update">
<svn>
<checkout url="${project.svn.url}" revision="HEAD" destPath="." />
</svn>
</target>
</project>但是,在运行它时,它提供了以下内容:
crazyabtliv@linux-hknk:~> ant -v -f svn.xml
Apache Ant(TM) version 1.8.2 compiled on December 20 2010
Buildfile: /home/crazyabtliv/svn.xml
Detected Java version: 1.6 in: /usr/java/jdk1.6.0_26/jre
Detected OS: Linux
parsing buildfile /home/crazyabtliv/svn.xml with URI = file:/home/crazyabtliv/svn.xml
Project base dir set to: /home/crazyabtliv
parsing buildfile jar:file:/home/crazyabtliv/apache-ant-1.8.2/lib/ant.jar!/org/apache/tools/ant/antlib.xml with URI = jar:file:/home/crazyabtliv/apache-ant-1.8.2/lib/ant.jar!/org/apache/tools/ant/antlib.xml from a zip file
[property] Loading /home/crazyabtliv/build.properties
[typedef] Could not load definitions from resource org/tigris/subversion/svnant/svnantlib.xml. It could not be found.
Build sequence for target(s) `update' is [update]
Complete build sequence is [update, ]
update:
BUILD FAILED
/home/crazyabtliv/svn.xml:16: Problem: failed to create task or type svn
Cause: The name is undefined.
Action: Check the spelling.
Action: Check that any custom tasks/types have been declared.
Action: Check that any <presetdef>/<macrodef> declarations have taken place.
at org.apache.tools.ant.UnknownElement.getNotFoundException(UnknownElement.java:487)
at org.apache.tools.ant.UnknownElement.makeObject(UnknownElement.java:419)
at org.apache.tools.ant.UnknownElement.maybeConfigure(UnknownElement.java:163)
at org.apache.tools.ant.Task.perform(Task.java:347)
at org.apache.tools.ant.Target.execute(Target.java:390)
at org.apache.tools.ant.Target.performTasks(Target.java:411)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1399)
at org.apache.tools.ant.Project.executeTarget(Project.java:1368)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1251)
at org.apache.tools.ant.Main.runBuild(Main.java:809)
at org.apache.tools.ant.Main.startAnt(Main.java:217)
at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280)
at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109)
Total time: 0 seconds
crazyabtliv@linux-hknk:~> 问题出在哪里?是否还有其他必须添加的jar文件?还有什么要做的吗?谢谢,我也尝试过将jar文件保存在ant/lib中,但这给出了相同的错误
发布于 2012-03-20 15:43:33
如果您使用的是svnant 1.1或更高版本,则需要如下所示的任务定义:
<typedef resource="org/tigris/subversion/svnant/svnantlib.xml" classpathref="project.classpath" /> 方法:
<taskdef resource="svntask.properties" classpathref="project.classpath"/>适用于svnant 1.0版本。
您可以通过打开svnant*.jar文件并查看是否有
根据结果,您必须使用第一种或第二种方法。
另一种选择是指定相关的类:
<taskdef name="svn"
className="org.tigris.subversion.svnant.SvnTask"
classpathref="project.classpath"/>https://stackoverflow.com/questions/9782579
复制相似问题