Ant:未能创建任务或键入runtarget

尝试运行ant时遇到以下错误:

问题:未能创建任务或键入runtarget

我正在建立一个mac 10.8.3。

之前的研究表明,我将ant-contrib-0.3.jar添加到我所做的ANT_HOME安装目录(实际上已经摆脱了另一个'未能创建任务或类型'的错误)

我使用了ant-contrib-0.3.jar,因为研究表明这个jar被映射到这行:

  • <taskdef resource =“net / sf / antcontrib / antcontrib.properties”/>
  • 它在我正在使用的build.xml文件中。

    该项目建立在Windows机器上(我甚至使用https://code.google.com/p/winant/构建它),但是试图在Mac上构建它。 因此我不想更改build.xml文件。

    运行目标行的一个示例是:

    <target name="setPASProps" depends="" description="setup the properties">
        <property name="systemname" value="PAS"/>
        <runtarget target="setSystemProps"/>
    </target> 
    

    这里是运行ant-diagnostics的一些信息

    -------------------------------------------
     ANT PROPERTIES
    -------------------------------------------
    ant.version: Apache Ant(TM) version 1.8.2 compiled on June 20 2012
    ant.java.version: 1.7
    Is this the Apache Harmony VM? no
    Is this the Kaffe VM? no
    Is this gij/gcj? no
    ant.core.lib: /usr/share/ant/lib/ant.jar
    ant.home: /usr/share/ant
    -------------------------------------------
     ANT_HOME/lib jar listing
    -------------------------------------------
    ant.home: /usr/share/ant
    ant-antlr.jar (5756 bytes)
    ant-contrib-0.3.jar (17708 bytes)
    ant-jmf.jar (6745 bytes)
    ant-junit.jar (102350 bytes)
    ant-junit4.jar (7126 bytes)
    ant-launcher.jar (12321 bytes)
    ant-swing.jar (7563 bytes)
    ant-testutil.jar (15198 bytes)
    ant.jar (1937098 bytes)
    

    谢谢 !


    如果您也发布了build.xml这将会很有帮助。

    如果Ant看到任务,通常会出现此错误,但定义存在问题。

    这是我的建议:

  • 在你的项目中创建一个目录antlib/ant-contrib
  • 下载这个zip文件。 Ant-contrib有一点奇怪,就是C编译和所有其他Ant任务都有单独的jar。 最新版本是1.0b3 。 当你解压缩这个zip文件时,你会在这个文件夹中看到ant-contrib-1.0b3.jar
  • ant-contrib-1.0b3.jar放入antlib/ant-contrib文件夹中。
  • 现在,在你的build.xml ,使用下面的<taskdef/>

    <taskdef resource="net/sf/antcontrib/antlib.xml">
        <classpath>
            <fileset dir="${basedir}/antlib/ant-contrib"/>
        </classpath>
    </taskdef>
    

    确保这不在目标内。 您希望在执行任何目标之前执行此操作。

    我喜欢这样做,因为Ant Contrib jar文件成为我的项目的一部分,任何需要运行我的项目的人都不必在他们可以使用我的项目之前手动安装Ant Contrib jar。

    看看你的build.xml ,看看<Runtarget>任务在哪里使用。 我从来没有使用它,而且这项任务的文档非常清晰和有用。 其实,我甚至不确定它是否有效。 如果您仍然遇到问题,请尝试查看是否可以删除包含此任务的定义的<target/> ,然后查看是否解决了该问题。


    删除了ant-contrib-0.3.jar并将ant-contrib-1.0b3.jar和ant-contrib.jar添加到了我的ANT_HOME目录中,因为这些是与https://code.google.com/p/winant/(并且它在Windows机器上工作)。

    这个伎俩。

    链接地址: http://www.djcxy.com/p/44343.html

    上一篇: Ant: failed to create task or type runtarget

    下一篇: Ant task imported from build.xml in Gradle script is running automatically