【发布时间】:2010-07-14 05:36:15
【问题描述】:
假设我有一个已经给出的 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 并且它不起作用,这是什么原因?我需要添加对路径的引用吗?
【问题讨论】:
-
classname之后的等号(例如,应该是classname="test.build....")真的没有,还是只是您的帖子中的拼写错误? -
对不起,这些错误只是拼写错误。我修好了。
-
当您说“不起作用”时,Ant 是否报告了错误?如果没有,您可以尝试运行“ant -v”来查看 Ant 引用的路径。