我正在尝试重新部署我最近取消部署但仍然获得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 7或Installing JSTL results in org.xml.sax.SAXParseException: Content is not allowed in prolog无关,虽然我浪费了很长时间来查看这些内容。一切似乎都应该如此,所以我很难过。最终,我自己解决了。我的答案如下。
答案 0 :(得分:0)
事实证明我已经部署了
/path/to/servlet/web/
作为XML配置文件而不是
/path/to/servlet/website.xml
正如Tomcat所期待的那样。
快速检查我其他浏览器保存的表单内容,发现了这个错误,所以我在这里发布了一个Q和A,希望这可以节省一些时间。
手动部署人员时请小心。