2014-01-28 33 views
1

我想蚂蚁运行时遇到了以下错误:蚂蚁:无法创建任务或键入runtarget

问题:无法创建任务或键入runtarget

我建设上一个mac 10.8.3。

此前的研究已经表明,我蚂蚁的contrib-0.3.jar添加到我的ANT_HOME安装目录,这是我做了(这实际上已经摆脱了另一种“无法创建任务或类型”错误)

我用antcontrib-0.3.jar,因为研究表明,这个罐子被映射到行:

  • <的taskdef资源= “网/平方英尺/ 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> 

以下是运行蚂蚁-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) 

由于一些信息!

回答

0

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

这个伎俩。

0

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

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

这里是我的建议:

  • 在你的项目中创建一个目录antlib/ant-contrib
  • 下载这个zip file。 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>任务在哪里使用。我从来没有使用过它,并且此任务的文档is so clear and helpful。其实,我甚至不确定它是否有效。如果您仍然遇到问题,请尝试查看是否可以删除包含此任务的已定义的<target/>,然后查看是否可以解决问题。

+0

嗨,我修改了我的问题,提供了为什么我使用了ant-contrib库的信息,并提供了运行目标语句的示例。谢谢。 – Bryan

+0

您是否在您的'build.xml'中向您展示了''任务?确保它不在任何''中,因此它始终运行。 –

+0

我们正在使用:(它在选项卡下的第一行) – Bryan