Не удается найти задачу taskdef ant

всего -

Я следую самым простым инструкциям на этой странице:

http://ant.apache.org/manual/develop.html

однако, когда я пытаюсь выполнить целевой "main", я получаю эту ошибку в netbeans:

taskdef class dec102012.MyAntTask cannot be found using the classloader AntClassLoader[]

но эта ошибка не имеет смысла, потому что мой новый класс 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;
    }
}

соответствующая часть в моей сборке.XML выглядит:

<taskdef name="mytask" classname="dec102012.MyAntTask" classpath="dec102012"/>

<target name="main">
    <mytask message="Hello World! MyVeryOwnTask works!"/>
</target>

1 ответов


проблема в том, что Ant Classloader должен знать, где *.сидит файл класса.

Как только я изменил сборку.XML, чтобы выглядеть так:

<taskdef name="mytask" classname="dec102012.MyAntTask" classpath="build/classes"/>

  <target name="main">
    <mytask message="Hello World! MyVeryOwnTask works!"/>
  </target>

он работал (т. е. он распечатал сообщение Hello World).