在哪里放置包含自定义ant任务的JAR?

在哪里放置包含自定义ant任务的JAR?,ant,Ant,我已经根据ApacheDoc创建了一个自定义ant任务 运行ant,我得到: BUILD FAILED /home/russ/blackpearl/fun/build.xml:92: taskdef class com.etretatlogiciels.ant.task.SqlScriptPreprocessor cannot be found using the classloader AntClassLoader[] 在使用之前,我在build.xml中有以下内容 <taskdef

我已经根据ApacheDoc创建了一个自定义ant任务

运行ant,我得到:

BUILD FAILED
/home/russ/blackpearl/fun/build.xml:92: taskdef class com.etretatlogiciels.ant.task.SqlScriptPreprocessor cannot be found using the classloader AntClassLoader[]
在使用之前,我在build.xml中有以下内容

<taskdef name="sqlscriptpreprocessor" classname="com.etretatlogiciels.ant.task.SqlScriptPreprocessor" />

…我已经将sqlscriptpreprocessor.jar的一个副本放到了本地lib子目录(应该在classpath上),甚至还放到了/usr/bin/ant/lib(即apache-ant-1.8.2)中

这个应该放在哪里?或者我应该寻找哪些其他问题

非常感谢您的评论

RUS

尝试嵌套

<classpath>
<pathelement location="C:\**\**.jar"/>
</classpath> 

在taskdef内部,例如

<taskdef resource="net/sf/antcontrib/antcontrib.properties">
    <classpath>
        <pathelement location="C:\myfolder\ant-contrib-1.0b3.jar"/>
    </classpath> 
</taskdef> 

理想情况下,它应该从ant/lib中获取,但是指定pathelement会强制它在给定的路径中查找。

尝试嵌套

<classpath>
<pathelement location="C:\**\**.jar"/>
</classpath> 

在taskdef内部,例如

<taskdef resource="net/sf/antcontrib/antcontrib.properties">
    <classpath>
        <pathelement location="C:\myfolder\ant-contrib-1.0b3.jar"/>
    </classpath> 
</taskdef> 


理想情况下,它应该从ant/lib中获取,但是指定pathelement会强制它在给定的路径中查找。

你说的“本地lib目录”是什么意思?lib子目录位于我的构建类路径上,包含我链接的所有jar(如Hibernate、log4j、Jersey、MySQL、Spring等)。你是什么意思“本地lib目录”?在我的构建类路径上的lib子目录,它包含我链接的所有jar(如Hibernate、log4j、Jersey、MySQL、Spring等)。好吧,我摆弄了一下,添加了六个不同的ant contrib咒语和三个我自己的咒语,尝试了它们的每一个置换组合,现在总是以“问题:无法创建任务或类型sqlscriptpreprocessor”而失败,因为“真的很简单”“要添加一个ant任务,我似乎肯定做不到。因为这不是我问这个问题时所依据的错误,所以我将在这里提交一个新的错误。谢谢你的帮助;一旦我清楚地理解了如何做这件事,我会回来给这个回答加上注释。好吧,我摆弄了这个,添加了六种不同的ant contrib咒语和三种我自己的咒语,尝试了它们的每种置换组合,现在总是以“问题:无法创建任务或类型sqlscriptpreprocessor”而失败因为添加一个ant任务“非常容易”,所以我似乎无法做到这一点。因为这不是我问这个问题时所依据的错误,所以我将在这里提交一个新的错误。谢谢你的帮助;一旦我对如何做这件事有了清晰的理解,我会回来给这个回答加上注释。