当Ant Tomcat任务似乎成功时,为什么Eclipse报告BUILD FAILED?

时间:2011-09-13 20:35:55

标签: eclipse tomcat ant

使用tomcat manager命令运行Ant目标时,它们似乎成功,但报告BUILD FAILED。

以下是我的build.xml的相关部分:

<property name="path"     value="/MyApp"/>

<property name="manager-url" value="http://localhost:8080/manager/html"/>
<property name="username" value="admin"/>
<property name="password" value=""/>

<taskdef name="start"     classname="org.apache.catalina.ant.StartTask"/>
<taskdef name="stop"      classname="org.apache.catalina.ant.StopTask"/>
<taskdef name="undeploy"  classname="org.apache.catalina.ant.UndeployTask"/>

<target name="start" description="Start web application">
    <start url="${manager-url}" username="${username}" password="${password}" path="${path}" output="${tomcat-home}/webapps/start.html"/>
</target>

<target name="stop" description="Stop web application">
    <stop url="${manager-url}" username="${username}" password="${password}" path="${path}" output="${tomcat-home}/webapps/stop.html"/>
</target>

<target name="undeploy" description="Start web application">
    <undeploy url="${manager-url}" username="${username}" password="${password}" path="${path}" output="${tomcat-home}/webapps/undeploy.html"/>
</target>

当我从eclipse运行这些目标(启动,停止,取消部署)时,我得到如下输出:

Buildfile: C:\eclipse_3.5\eclipse\workspace\MyApp\build.xml
Trying to override old definition of datatype resources
undeploy:

BUILD FAILED
C:\eclipse_3.5\eclipse\workspace\MyApp\build.xml:85: <html>

Total time: 20 seconds

目标重定向的输出是html文件,表明Tomcat管理器命令成功,当我检查管理器时,它似乎是。

4 个答案:

答案 0 :(得分:2)

我遇到了同样的问题并发现了答案here

问题是您用于取消部署任务的URL;你需要删除html。

<property name="manager-url" value="http://localhost:8080/manager/html"/>

应该是:

<property name="manager-url" value="http://localhost:8080/manager"/>

答案 1 :(得分:0)

您看到的错误可能与取消部署调用无关。

在第85行,你有一个<html>标签,蚂蚁不喜欢并导致失败。

答案 2 :(得分:0)

这是答案。不要做文档中的说法!自动生成的build.xml的文档说将catalina-ant.jar复制到ant lib目录。这是什么导致问题!删除它和whola,它会工作。

答案 3 :(得分:0)

您需要将网址更改为

<property name="manager-url" value="http://localhost:8080/manager/text"/>

您可能还需要向Tomcat的conf/tomcat_users.xml添加新用户,因为建议将manager-gui(HTML访问)与manager-script(文本访问)分开:

<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="browser" password="xyzzy" roles="manager-gui"/>
<user username="ant" password="plugh" roles="manager-script"/>

另见https://issues.apache.org/bugzilla/show_bug.cgi?id=50706