我在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
我花了3天的时间试图解决这个问题,但仍然没有从零开始。 有人可以指点一下吗?
答案 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,那么下面的问题可能是你的问题吗?