我正在尝试为Tomcat在ant中定义一个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[]
你能告诉我我做错了什么吗?我把所有的罐子都放在Tomcat lib文件夹中。我正在使用 Tomcat 9 和 Ant 1.10.5
您需要指定一个类路径,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"/>