无法在Tomcat 7上部署应用程序由于"尝试了无效的生命周期转换"错误

Boh*_*Bah 7 java tomcat

我有问题!我正在尝试在我的tomcat服务器7安装上安装我的webapp,但由于"尝试了无效的生命周期转换",它继续说它无法部署我的应用程序.

这是我的catalina日志错误:

org.apache.catalina.LifecycleException: An invalid Lifecycle transition was attempted       ([before_destroy]) for component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/myapp]] in state [STARTED]
at org.apache.catalina.util.LifecycleBase.invalidTransition(LifecycleBase.java:409)
at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:299)
at org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:1041)
at org.apache.catalina.core.ContainerBase.destroyInternal(ContainerBase.java:1234)
at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:305)
at org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:1041)
at org.apache.catalina.core.ContainerBase.destroyInternal(ContainerBase.java:1234)
at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:305)
at org.apache.catalina.core.StandardService.destroyInternal(StandardService.java:593)
at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:305)
at org.apache.catalina.core.StandardServer.destroyInternal(StandardServer.java:822)
at org.apache.catalina.util.LifecycleBase.destroy(LifecycleBase.java:305)
at org.apache.catalina.startup.Catalina.stop(Catalina.java:765)
at org.apache.catalina.startup.Catalina$CatalinaShutdownHook.run(Catalina.java:910)
Run Code Online (Sandbox Code Playgroud)

我甚至尝试将"myapp"文件夹和".war"手动删除到tomcat的webapp文件夹中(关闭tomcat后),但它没有解决任何问题.

我也尝试重新部署应用程序中我最老的.war文件,但它根本不会启动.

有人有什么想法吗?

提前致谢

小智 2

也许您的 JRE 使用不同的 Web 服务器供应商 servlet api (javax.servlet.*)。尝试检查您的系统类路径。

  • 我解决了这个问题。在我的具体情况下,我的应用程序在启动时正在搜索表示其 web.xml 文件中包含的配置文件路径位置的字符串,该文件不存在于生产环境文件中。我还按照您的建议将scope=provided添加到我的pom.xml中 `<dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope >提供</范围> </依赖>` (2认同)