муравей: не удалось создать задачу или тип

(Да, я прочитал и поиграл на основе ответов на похожие вопросы на этом форуме и во многих других, таких как JavaRanch - пока безрезультатно.)

Я создал собственную задачу муравья в соответствии с Apache doc.

Запустив муравья, я получаю:

BUILD FAILED
/home/russ/blackpearl/fun/build.xml:121: Problem: failed to create task or type sqlscriptpreprocessor
Cause: The name is undefined.
Action: Check the spelling.
Action: Check that any custom tasks/types have been declared.
Action: Check that any <presetdef>/<macrodef> declarations have taken place.
at org.apache.tools.ant.UnknownElement.getNotFoundException(UnknownElement.java:487)
at org.apache.tools.ant.UnknownElement.makeObject(UnknownElement.java:419)
at org.apache.tools.ant.UnknownElement.maybeConfigure(UnknownElement.java:163)
at org.apache.tools.ant.Task.perform(Task.java:347)

Это в соответствии с целью в моемbuild.xml файл:

<target name="mysql-preprocess"
        description="Preprocess MySQL database scripts into one file">
    <sqlscriptpreprocessor inputfilepath="${basedir}/extras/blackpearl.sql.in"
                          outputfilepath="${basedir}/extras/blackpearl.sql" />
</target>

у меня естьмуравей-вно-1.0b3.jar по пути * $ ANT_HOME / lib *. у меня естьsqlscriptpreprocessor.jar на этом пути, плюс локальный путь к классам для моей сборки.

Пытаясь изгнать эту проблему, я попробовал каждую комбинацию следующего набора утверждений, которые я повсеместно использовал через Google, то есть одно из <taskdef ant-contrib> с одним из <taskdef sqlscriptpreprocessor> конструирует, два из первых с одним из последних, один из первых с двумя из последних, все вместе, ни один из них, и т. д.

<taskdef resource="net/sf/antcontrib/antlib.xml" />
<taskdef resource="net/sf/antcontrib/antcontrib.properties" />
<taskdef resource="net/sf/antcontrib/antcontrib.properties">
    <classpath>
        <pathelement location="/home/russ/dev/downloads/ant-contrib/ant-contrib-1.0b3.jar" />
    </classpath>
</taskdef>

<taskdef name="sqlscriptpreprocessor" classname="com.etretatlogiciels.ant.task.SqlScriptPreprocessor" />
<taskdef resource="${basedir}/lib/ant-tasks/SqlScriptPreprocessor.properties"
         classpath="${basedir}/lib/ant-tasks/sqlscriptpreprocessor.jar" />
<taskdef resource="${basedir}/lib/ant-tasks/SqlScriptPreprocessor.properties">
    <classpath>
        <pathelement location="${basedir}/lib/ant-tasks/sqlscriptpreprocessor.jar" />
    </classpath>
</taskdef>

Обидно, что не так просто, как говорят, добавлять собственные задачи в ant.

Я был бы очень признателен за любые комментарии.

Спасибо,

Russ

Ответы на вопрос(2)

Ваш ответ на вопрос