无法创建任务或输入com。***。***。<classname>

时间:2016-01-20 05:24:22

标签: java eclipse ant

我在eclipse项目中有一个构建文件。构建文件尝试调用位于同一eclipse工作区的另一个项目中的java类。

以下是调用ant文件的简单来源。

<target name="blah">
         <antcall target="invokeJavaClass"/>
</target>
<target name="invokeJavaClass">
        <com.abc.def.SampleClassName>
               <parameter name="param1" value="value1" />
               <parameter name="param1" value="value1" />
        </com.abc.def.SampleClassName>
</target>

构建失败了  “无法创建任务或输入com.abc.def.SampleClassName”   原因:名称未定义。   行动:检查拼写。   操作:检查是否已声明任何自定义任务/类型。   操作:检查是否已发生任何/声明。

我已在ant-contrib-1.0b3中加入了classpath,其中包含net/sf/antcontrib/antlib.xml

的taskdef

我花了3天的时间试图解决这个问题,但仍然没有从零开始。 有人可以指点一下吗?

1 个答案:

答案 0 :(得分:0)

当ANT遇到不理解的XML标记

时,会发出以下错误消息
<project name="demo" default="build">

  <target name="build">
    <i.am.an.invalid.task>
    </i.am.an.invalid.task>
  </target>

</project>

例如

BUILD FAILED
/home/mark/tmp/build.xml:4: Problem: failed to create task or type i.am.an.invalid.task
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.

要使用自定义任务扩展ANT,您必须使用task definition明确声明,或者创建ANT lib

既然你提到了ant-contrib,那么下面的问题可能是你的问题吗?