Tomcat:部署时的生命周期异常

Tomcat:部署时的生命周期异常,tomcat,lifecycleexception,Tomcat,Lifecycleexception,我刚刚在我的Ubuntu11.10上下载了Tomcat7.0.23包 我按照谷歌API网站上的说明进行了修改。它基本上由放置在WEB-INF/lib目录中的jar文件和放置在WEB-INF目录中的WEB.xml文件组成 但是,应用程序不会自动部署,当尝试通过manager gui强制服务器部署应用程序时,我收到以下消息: FAIL - Application at context path /myWebApp could not be started FAIL - Encountered exc

我刚刚在我的Ubuntu11.10上下载了Tomcat7.0.23包

我按照谷歌API网站上的说明进行了修改。它基本上由放置在
WEB-INF/lib
目录中的
jar
文件和放置在
WEB-INF
目录中的
WEB.xml
文件组成

但是,应用程序不会自动部署,当尝试通过manager gui强制服务器部署应用程序时,我收到以下消息:

FAIL - Application at context path /myWebApp could not be started
FAIL - Encountered exception org.apache.catalina.LifecycleException: 
         Failed to start component 
         [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/myWebApp]]
但是,Tomcat提供的JSP示例确实有效

我在Tomcat6上也有同样的问题


那么我做错了什么?这是许可问题吗?(我甚至尝试将所有文件的mod改为777)。

这意味着您的应用程序配置或启动有问题


日志中总是有相关信息-检查
logs/catalina.out
并找出问题所在。

检查您的WEB-INF/WEB.xml文件中的servlet映射。

从构建路径中删除servlet-api.jar,只需将其添加到WEB-INF-lib文件夹中,然后导出WAR文件。

一切正常……干杯

在eclipse中。。。转到服务器视图。。。右键单击tomcat服务器->添加或删除程序->删除所有其他项目。现在试着运行这个项目。它应该能用。

我卡住了,问题解决了
不要使用“映射网络驱动器”的路径,而是使用\server\folder结构

我遇到了这个问题,它无法部署在Tomcat上,然后我从所有servlet代码中删除了所有@webServlet注释,并成功地部署了它

我也用同样的方法做了,现在也可以了。实际上web.xml文件具有错误的url模式。
您可以从servlet或web.xml中删除一个url模式。这对我很有用。

我遇到这种现象时出现内存不足错误:

Caused by: java.lang.OutOfMemoryError: PermGen space

释放一些内存后,问题就解决了。

还有一个变化,即Eclipse项目不知何故已损坏。通常像这样的Eclipse会在项目中添加一些重复的.jar,这些.jar通常与Maven Dependency.jar相同

若您的项目看起来像下面的示例,那个么Maven依赖项会被复制,应该手动删除,这是一个巨大的变化


e、 g.(项目浏览器视图)
src/main/java
src/test/java
弹簧靴vaadin.jar
弹簧aop.jar
Maven依赖项
弹簧靴vaadin.jar
弹簧aop.jar
等等

…这就是治疗:-)
项目/属性/Java构建路径/库

只需删除所有回购M2/。。。路径和更新项目。

Tomcat有不同的战争部署方式。 有些工作,有些没有。 请尝试以下部署方法:
  • 自动:将WAR文件复制粘贴到${CATALINA_HOME}/webapps中。如果一切正常,将出现同名文件夹
  • 管理器应用程序:上载WAR文件
  • 管理器应用程序:找到WAR文件


在我的例子中,使用Manager应用程序(本地URL:)是有效的。然而,使用复制粘贴进行部署会导致错误。

我在将war文件部署到Tomcat时遇到此错误。我的项目需要Java1.8,结果只安装了Java1.7。从我能找到的任何日志文件中都看不出这一点。

对我来说,这个问题是由于将项目从Git检查到另一个目录引起的。选择与war文件相同的名称解决了这个问题。

当服务器中没有足够的空间时,我出现了这个错误。检查日志和服务器空间可能非常简单,但在浪费一些时间之前值得检查一下

在我的例子中,
mysql
服务关闭了


当您有一个包含JPA/Hibernate的java应用程序时,它会在启动时检查数据库连接。刚刚通过查看实体管理器错误所在的外观发现。

这可能是由代码中的问题引起的。以我为例,

I had Mongo database pointing to my local(done this for testing and forgot to update it back) instead of the one on EC2 which is the same machine 
        where war file is deployed to. 

我怎么知道的?我不得不与运行良好的旧版本代码进行比较。

我也面临着这个问题,因为Tomcat版本不匹配。! 根据文档,Grails4.0.x的默认tomcat版本是tomcat 8,但在我使用的服务器中,tomcat版本是9.0.31

在build.gradle文件中,我更改了编译“org.springframework.boot:spring boot starter tomcat”以提供“org.springframework.boot:spring boot starter tomcat”,并添加/修改了缓存插件以编译“org.grails.plugins:cache”,{排除组:“org.codehaus.groovy”,模块:“groovy all”}在依赖项下块! [缓存插件随groovy all 2.1提供]


它就像一个符咒!奇怪的是,当使用grailsrun-app命令运行应用程序时,这并没有引起任何问题,在失败消息之前应该有一个异常,这是我从tomcatweb应用程序管理器GUI获得的全部信息。如果有一个特定的命令行,我可以在终端中键入,以向您提供更多信息,我很乐意这样做!:)谢谢你的建议!实际上,在一个不存在的servlet上有一个servlet映射。我没有检查Google提供的web.xml文件,并假设它是正确的,但由于某些原因它不是!再次感谢,一旦映射被注释,它就会工作。(添加我的注释的扩展版本作为答案)感谢您的回答!阅读日志发现,
servlet
上存在一个不存在的
servlet映射。我没有检查Google提供的web.xml文件,并假设它是正确的,但由于某些原因它不是!再次感谢,一旦映射被注释,它就会工作。我得到了这个异常,但是catalina.outI中没有出现任何内容。我有与@BartvanHeukelom相同的问题。我不知道该怎么办。打开日志/ca时