Ant TaskDef在ClassLoader中失败

时间:2019-01-29 11:38:13

标签: java tomcat ant tomcat9

我正在尝试为Tomcat定义一个taskdef。

<taskdef name="antStartServer" classname="org.apache.catalina.ant.StartTask" />
<taskdef name="antStopServer" classname="org.apache.catalina.ant.StopTask" />

但是当我运行脚本时,出现错误:

taskdef class org.apache.catalina.ant.StartTask cannot be found using the classloader AntClassLoader[]

您能告诉我我做错了什么吗?我把所有的jar放在Tomcat的lib文件夹中。我正在使用Tomcat 9和Ant 1.10.5

1 个答案:

答案 0 :(得分:1)

您需要指定一个类路径,Ant可以在其​​中找到所需的类:

<!-- set the path to Tomcat root install directory -->
<property name="tomcat.home" value="..."/>

<path id="tomcat.path">
  <fileset dir="${tomcat.home}/lib" includes="*.jar"/>
</path>

<taskdef name="antStartServer" classname="org.apache.catalina.ant.StartTask" classpathref="tomcat.path"/>
<taskdef name="antStopServer" classname="org.apache.catalina.ant.StopTask" classpathref="tomcat.path"/>