首页 文章

无法创建任务或键入com . *** . *** . <ClassName>

提问于
浏览
0

我在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”原因:名称未定义 . 行动:检查拼写 . 操作:检查是否已声明任何自定义任务/类型 . 操作:检查是否已发生任何/声明 .

我在 classpath 中包含了 ant-contrib-1.0b3 并包含了 net/sf/antcontrib/antlib.xml 的taskdef

我花了3天试图解决这个问题,但仍然没有从零开始 . 有人可以给点指点吗?

1 回答

  • 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,那么下面的问题可能是你的问题吗?

相关问题