找不到taskdef类org.apache.catalina.ant.InstallTask

在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 

我已经设置了以下系统环境变量(Windows 7)

 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中

代码的更多部分:

                      

怎么了?

我想只提到CATALINA_HOME不起作用。 你需要把catalina-antjar子放到Ant的类路径上。 在tomcat 7中,为此目的有4个jar子,而在早期版本中只有一个jar子。 请点击此链接 。

从链接引用,

首先,确保配置Tomcat管理器以供Catalina-Ant使用。 确保manager-script包含在TOMCAT_HOME/conf/tomcat-users.xml其中一个用户的角色中。 例如:

    

用于Tomcat 6的Catalina-Ant封装在单个JAR文件中。 Tomcat 7的Catalina-Ant需要四个JAR文件。 一个来自TOMCAT_HOME/bin

 tomcat-juli.jar 

和三个来自TOMCAT_HOME/lib

 catalina-ant.jar tomcat-coyote.jar tomcat-util.jar 

至少有三种方法可以使Ant可用于JAR:

  • 将JAR复制到ANT_HOME/lib文件夹中。 然后Ant会找到它们。
  • 将JAR复制到项目中您检入源控制系统的文件夹中。 然后Ant需要一个路径ID来找到它们:
         

其中catalina-ant-dir是JAR所在的目录。这样,您无需在构建的每台计算机上修改Ant安装。 直接从Tomcat 7安装访问JAR。 然后Ant需要一个路径ID来找到它们:

           

其中appserver.lib是Tomcat 7的lib目录的路径, appserver.home是Tomcat的顶级安装目录的路径。 这样,您构建的每个盒子都需要Tomcat 7。

我个人的偏好是2以上。

现在您的Ant脚本可以看到Catalina-Ant JAR,您需要告诉它哪些任务可用。 这些是Ant可用的大部分(如果不是全部)任务。

         

最后,您需要一组实际完成工作的任务。 虽然,正如您在上面所看到的,有一些任务我只倾向于使用以下的任务:

             

tomcat.manager.url是Tomcat管理器所在的URL。 这是从Tomcat 6到Tomcat 7的另一个变化。通常这将是: http://:8080/manager/text

Tomcat.usernameTomcat.password是Tomcat管理器的用户名和密码。

webapp.name是要部署的Tomcat应用程序的名称。

war.file是您正在部署的WAR文件的Tomcat应用程序的路径。

在tomcat 7中,InstallTask​​被DeployTask取代。

改变你的声明

    

     

猜猜你可能不得不做这个改变,因为你的问题没有更多细节

    

我相信你可能在build.xml中有上述设置请将$ {appserver.home}更改为包含tomcat安装的目录

    

在tomcat 7中,org.apache.catalina.ant包含一组Task,可用于与Manager应用程序交互,以从正在运行的Tomcat实例部署,取消部署,列出,重新加载,启动和停止Web应用程序。 用DeployTask替换InstallTask​​将解决构建问题。

     `enter code here`           

如果你正在使用eclipes,那么你需要通过以下步骤更改你的ant_home位置,导航到window> prefrances> Ant> runtime> classpath> AntHome点击anthome按钮并提供你的anthome目录路径。

并解决你的问题你需要复制anthome / lib文件夹中的catalina-ant.jar

谢谢,沙拉德

试试以下内容,它将解决您的问题:

 1) Click Eclipse menu Window > Preferences 2) Click Ant > Runtime 3) Under Classpath tab, select Ant Home Entries and click button Add External JARs 4) Browse and open $ECLIPSE_HOME/plugins/org.apache.ant_myscrum/lib/catalina-ant.jar 5) Click Apply and OK button 

按照第3号指令操作

按照第4号指令操作