全是-
我遵循这一页上最简单的说明:
http://ant.apache.org/manual/develop.html
但是,当我试图执行目标"main“时,我在netbeans中得到了这个错误:
使用类加载器AntClassLoader[]找不到taskdef类dec102012.MyAntTask
但是这个错误没有意义,因为扩展"Task“的新Java类如下所示:
package dec102012;
import org.apache.tools.ant.BuildException;
public class MyAntTask extends org.apache.tools.ant.Task{
private String msg;
// The method executing the task
public void execute() throws BuildException {
System.out.println(msg);
}
// The setter for the "message" attribute
public void setMessage(String msg) {
this.msg = msg;
}
}我的build.xml中的相关部分如下所示:
<taskdef name="mytask" classname="dec102012.MyAntTask" classpath="dec102012"/>
<target name="main">
<mytask message="Hello World! MyVeryOwnTask works!"/>
</target>发布于 2012-12-12 01:32:18
问题是需要知道*.class文件位于何处。
一旦我将build.xml更改为如下所示:
<taskdef name="mytask" classname="dec102012.MyAntTask" classpath="build/classes"/>
<target name="main">
<mytask message="Hello World! MyVeryOwnTask works!"/>
</target>它起作用了(即它打印出了Hello消息)。
https://stackoverflow.com/questions/13831194
复制相似问题