Ant taskdef - 需要classpath和-lib参数吗?

时间:2013-07-11 10:23:04

标签: java ant classloader

今天在处理Ant脚本时,我注意到即使我的classpath是使用classpath属性定义的,我仍然需要在启动ant(即-lib)时使用ant -lib myjar.jar以使其正常运行。

<project name="My Project" default="run-task" basedir=".">
  <target name="run-task" description="Use the Ant Task">
    <taskdef name="TaskName" classname="mypackage.MyClass" classpath="myjar.jar"/>
    <TaskName />
  </target>
</project>

对于需要这个的蚂蚁类加载是否有怪癖?

1 个答案:

答案 0 :(得分:1)

以下内容应该相同。

<path id="ant.tasks">
   <fileset dir="lib" includes="myspecialant.jar"/>
</path>

<taskdef name="TaskName" classname="mypackage.MyClass" classpathref="ant.tasks"/>

我更喜欢在构建的顶部管理我的类路径,与使用它们的逻辑分开。使故障排除更简单。