重新部署servlet时出现严重错误 - 愚蠢的错误

时间:2013-09-12 10:50:23

标签: servlets tomcat7

我正在尝试重新部署我最近取消部署但仍然获得org.apache.catalina.LifecycleException的servlet。 Tomcat无法正确加载上下文。

这是触发搜索的原因:

FAIL - Unable to delete [/var/lib/tomcat7/conf/Catalina/localhost/app.xml].
       The continued presence of this file may cause problems.

以下是日志catalina.out中的错误,已重新排列以适合列:

WARNING: Calling stop() on failed component [{0}] to trigger clean-up
         did not complete.
org.apache.catalina.LifecycleException: 
         An invalid Lifecycle transition was attempted ([after_stop]) for 
         component [org.apache.catalina.startup.FailedContext@13150fc] in state
         [FAILED]

WARNING: Error while removing context [/app]
java.lang.ClassCastException:
         org.apache.catalina.startup.FailedContext cannot be cast to 
         org.apache.catalina.core.StandardContext

向上滚动,我注意到SEVERE错误的完整列表,从以下开始:

SEVERE: Parse error in context.xml for /app
    org.xml.sax.SAXParseException; 
    systemId: file:/etc/tomcat7/Catalina/localhost/app.xml/;
    lineNumber: 1;
    columnNumber: 1;
    Content is not allowed in prolog.

这与Cannot Undeploy a web-app completely in Tomcat 7Installing JSTL results in org.xml.sax.SAXParseException: Content is not allowed in prolog无关,虽然我浪费了很长时间来查看这些内容。一切似乎都应该如此,所以我很难过。最终,我自己解决了。我的答案如下。

1 个答案:

答案 0 :(得分:0)

事实证明我已经部署了

/path/to/servlet/web/

作为XML配置文件而不是

/path/to/servlet/website.xml
正如Tomcat所期待的那样。

快速检查我其他浏览器保存的表单内容,发现了这个错误,所以我在这里发布了一个Q和A,希望这可以节省一些时间。

手动部署人员时请小心。