【问题标题】:SvnAnt not working on open suse 11.4SvnAnt 无法在 open suse 11.4 上运行
【发布时间】:2012-03-20 07:04:21
【问题描述】:

我想使用 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/s​vnantlib.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/s​vnantlib.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 中,但是,这给出了同样的错误

【问题讨论】:

  • 您使用的是哪个版本的 svnant?

标签: svn ant build-automation


【解决方案1】:

如果您使用的是 svnant 1.1 或更高版本,您需要有这样的 taskdef:

<typedef resource="org/tigris/subversion/svnant/svnantlib.xml" classpathref="project.classpath" /> 

方法:

<taskdef resource="svntask.properties" classpathref="project.classpath"/>

适用于 svnant 1.0 版本。

您可以通过打开 svnant*.jar 文件并查看是否存在来轻松检查这一点

  • org/tigris/subversion/svnant/svnantlib.xml
  • svntask.properties

根据结果,您必须使用第一种或第二种方法。

另一种选择是指定相关的类:

<taskdef name="svn" 
    className="org.tigris.subversion.svnant.SvnTask"
    classpathref="project.classpath"/>

【讨论】:

  • 我正在使用 svnant 1.2.1 。让我检查一下:)
  • @crazyaboutliv 1.2.1 包含 org/tigris/subversion/svnant/svnantlib.xml
  • 是的,我已经更新了代码以反映这一点。我检查并相应地更改了代码。但它仍然给出相同的错误:(
  • @crazyaboutliv 你能以详细模式运行 ant(ant -v),并检查类路径,你可能没有正确指向 jar。
  • 我已经尝试过详细模式。我将文本粘贴在答案中。我还尝试将 jar 保存在 ant/lib 中,然后不明确指定类路径。他们都给出了同样的错误
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-09-12
  • 2020-06-05
  • 2014-04-13
  • 2019-04-15
  • 2015-07-02
  • 1970-01-01
  • 2011-04-03
相关资源
最近更新 更多