在eclipse中,我的build.xml有5个警告:
taskdef class.org.apache.catalina.ant.InstallTask cannot be found
taskdef class.org.apache.catalina.ant.ListTaskcannot be found
taskdef class.org.apache.catalina.ant.ReloadTaskcannot be found
taskdef class.org.apache.catalina.ant.StartTask cannot be found
taskdef class.org.apache.catalina.ant.StopTask cannot be found
我已经设置了以下系统环境变量(Windows7)
ANT_HOME: C:\apache-ant-1.8.4
CATALINA_HOME: C:\apache-tomcat-7.0.29
JAVA_HOME: C:\Program Files\Java\jdk1.6.0_34
and have added %ANT_HOME%/bin to PATH
编辑:我还将catalina-ant.jar添加到c:\apache-ant-1.8.4\lib中
代码的更多部分:
<!-- We need the Catalina jars for Tomcat -->
<!-- * for other app servers - check the docs -->
<fileset dir="${appserver.lib}">
<include name="catalina-ant.jar"/>
</fileset>
</path>
<taskdef name="install" classname="org.apache.catalina.ant.InstallTask">
<classpath refid="catalina-ant-classpath"/>
</taskdef>
<taskdef name="reload" classname="org.apache.catalina.ant.ReloadTask">
<classpath refid="catalina-ant-classpath"/>
</taskdef>
<taskdef name="list" classname="org.apache.catalina.ant.ListTask">
<classpath refid="catalina-ant-classpath"/>
</taskdef>
<taskdef name="start" classname="org.apache.catalina.ant.StartTask">
<classpath refid="catalina-ant-classpath"/>
</taskdef>
<taskdef name="stop" classname="org.apache.catalina.ant.StopTask">
<classpath refid="catalina-ant-classpath"/>
</taskdef>
怎么了?
6条答案
按热度按时间ax6ht2ek1#
在tomcat7中,installtask被deploytask替换。
把你的声明改成
旧的
具有
qcuzuvrc2#
我猜你可能要做这个改变,因为你的问题没有更多的细节
我相信您的build.xml中可能有上述设置。请将${appserver.home}更改为包含tomcat安装的目录
vlurs2pr3#
如果您使用的是eclipes,那么您需要按照以下步骤更改您的ant\u主位置,导航到window>prefrances>ant>runtime>classpath>anthome单击anthome按钮并提供anthome目录路径。
为了解决这个问题,你需要将catalina-ant.jar复制到anthome/lib文件夹中
谢谢,沙拉德
xfb7svmp4#
在Tomcat7中,org.apache.catalina.ant包含一组任务,这些任务可用于与manager应用程序交互,以从正在运行的tomcat示例部署、取消部署、列出、重新加载、启动和停止web应用程序。用deploytask替换installtask可以解决生成问题。
vcirk6k65#
我认为仅仅提到卡塔琳娜的家是行不通的。您需要将catalina ant jar放到ant的类路径中。在tomcat7中,有4个jar用于此目的,而在早期版本中只有一个jar用于此目的。请点击此链接。
从链接中引用,
首先,确保配置tomcat管理器供catalinaant使用。确保
manager-script
包含在中某个用户的角色中TOMCAT_HOME/conf/tomcat-users.xml
. 例如:用于tomcat6的catalinaant被封装在一个jar文件中。catalinaant for tomcat7需要四个jar文件。一个来自
TOMCAT_HOME/bin
:三个来自
TOMCAT_HOME/lib
:至少有三种方法可以让ant使用jar:
把jar复制到盒子里
ANT_HOME/lib
文件夹。然后蚂蚁就会找到它们。将jar复制到项目中签入源代码管理系统的文件夹中。然后,ant需要一个路径id来找到它们:
哪里
catalina-ant-dir
是包含jar的目录。这样就不需要在构建的每台机器上修改ant安装。直接从tomcat7安装访问jar。然后,ant需要一个路径id来找到它们:其中appserver.lib是Tomcat7的lib目录的路径,并且
appserver.home
是tomcat的顶级安装目录的路径。这样,您构建的每个框上都需要tomcat7。我个人喜欢上面的2个。
现在,您的ant脚本可以看到catalina ant jars,您需要告诉它哪些任务可用。这些是ant可以执行的大部分任务(如果不是全部的话)。
最后,您需要一组实际完成工作的任务。不过,正如你在上面看到的,我只倾向于使用以下几个任务:
dm7nw8vv6#
尝试以下方法,它将解决您的问题: