ant: falha ao criar tarefa ou digite

(Sim, eu li e brinquei com base em respostas a perguntas semelhantes neste fórum e em muitos outros como o JavaRanch - sem sucesso ainda.)

Criei uma tarefa ant personalizada de acordo com o documento Apach

Formiga correndo, eu recebo:

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)

Isso está de acordo com uma meta na minha build.xml Arquivo

<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>

Eu tenho ant-contrib-1.0b3.jar no caminho * $ ANT_HOME / lib *. Eu tenho sqlscriptpreprocessor.jar nesse caminho, além do caminho de classe local para minha compilação.

Em uma tentativa de exorcizar esse problema, tentei todas as combinações do seguinte conjunto de instruções, que peguei em todo o lugar pelo Google, significando um dos <taskdef ant-contrib> com um dos < taskdef sqlscriptpreprocessor> constrói, dois dos primeiros com um dos últimos, um dos primeiros com dois dos últimos, todos juntos, nenhum deles, et

<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>

É frustrante que não seja tão fácil como eles dizem adicionar tarefas personalizadas ao for

Eu aprecio muito todos e quaisquer comentário

Obrigado

Russ

questionAnswers(2)

yourAnswerToTheQuestion