首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SvnAnt在开放式SuSE11.4上不起作用

SvnAnt在开放式SuSE11.4上不起作用
EN

Stack Overflow用户
提问于 2012-03-20 15:04:21
回答 1查看 1.8K关注 0票数 0

我想使用SvnAnt从我们的svn存储库中签出最新的代码,构建并部署它。我已经完成了所有其他部分,只剩下签出部分了。我使用的是svnant 1.2.1。但在svnant.jar中,我只找到了*.xml文件。下面是我为同样的事情所做的:

代码语言:javascript
复制
<?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>

但是,在运行它时,它提供了以下内容:

代码语言:javascript
复制
    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中,但这给出了相同的错误

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-20 15:43:33

如果您使用的是svnant 1.1或更高版本,则需要如下所示的任务定义:

代码语言:javascript
复制
<typedef resource="org/tigris/subversion/svnant/svnantlib.xml" classpathref="project.classpath" /> 

方法:

代码语言:javascript
复制
<taskdef resource="svntask.properties" classpathref="project.classpath"/>

适用于svnant 1.0版本。

您可以通过打开svnant*.jar文件并查看是否有

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

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

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

代码语言:javascript
复制
<taskdef name="svn" 
    className="org.tigris.subversion.svnant.SvnTask"
    classpathref="project.classpath"/>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9782579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档