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并且它不起作用,那是什么原因?我是否需要添加对路径的引用?
答案 0 :(得分:2)
classname"test.package.build.someOtherPackage.MyAddedTask"
- 我们在这里有两个错误,可能是拼写错误:首先,我们在=
之后错过classname
,第二,包名不是vaild,因为它包含一个java关键字( package
)。
如果代码段是从原始代码中复制并粘贴的,那么您必须修复它。