Ant <taskdef>问题 - 找不到类名</taskdef>

时间:2010-07-14 05:36:16

标签: java ant

Asumming我有一个已经给出的build.xml。我被命令添加自己的任务来检查某些条件,如果没有设置则让构建失败。

在这个build.xml中已经定义了一些任务。所以我认为我可以简单地编写自己的任务,将它放在与其他包相同的包中,它会起作用。

<property name"build-dir" value="../base-build" />

<path id="classpath.build">
    <fileset dir="${build-dir}/lib" includes="*.jar" />
</path>

<taskdef name="givenTask" classname="test.build.somePackage.GivenTask" classpathref="classpath.build" />

<taskdef name="myAddedTask" classname="test.build.someOtherPackage.MyAddedTask" classpathref="classpath.build" />

build.xml位于base-build目录中,以及build-tools中的包。 所以我的问题是:如果我复制上面的taskdef并且它不起作用,那是什么原因?我是否需要添加对路径的引用?

1 个答案:

答案 0 :(得分:2)

classname"test.package.build.someOtherPackage.MyAddedTask" - 我们在这里有两个错误,可能是拼写错误:首先,我们在=之后错过classname,第二,包名不是vaild,因为它包含一个java关键字( package)。

如果代码段是从原始代码中复制并粘贴的,那么您必须修复它。