Tomcat: LifecycleException when deploying

2019-01-09 05:43发布

问题:

I just downloaded the Tomcat 7.0.23 package on my Ubuntu 11.10.

I followed the instructions on a Google API website to deploy their example webapp. It basically consists of jar files placed in the WEB-INF/lib directory and a web.xml file placed in the WEB-INF directory.

Yet the app is not automatically deployed and when trying to force the server to deploy it through the manager gui, I get the following message:

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]]

However, the JSP examples provided with Tomcat do work!

I have the same problem on Tomcat6.

So what did I do wrong ? Is this a permission problem ? (I even try to change the mod of all files to 777).

回答1:

This means something is wrong with your application configuration or startup.

There is always information about that in the logs - check logs/catalina.out and figure out what is wrong.



回答2:

I had this problem, where it just would not deploy on Tomcat , then i removed all @webServlet Annotations from all my servlet code and it deployed successfully.



回答3:

Remove the servlet-api.jar from build path and just add it on web-inf lib folder and then export the WAR file..it'll work...cheers..!!!



回答4:

Check your WEB-INF/web.xml file for the servlet Mapping.



回答5:

In eclipse ... go to Servers view ... right click on the tomcat server -> Add or remove programs -> Remove all other projects. Now try to run the project. It should work.



回答6:

I got stuck and problem solved Don't use the path that is "Map Network Drive", but use the \server\folder structure instead



回答7:

I done in same way and its working now. Actually web.xml file having wrong url-pattern. you can remove one url-pattern either annotation form servlet or web.xml.It worked for me.



回答8:

I got out of memory error with when facing such phenomena:

Caused by: java.lang.OutOfMemoryError: PermGen space

after freeing some memory, the problem is solved.



回答9:

There is also change that Eclipse Project is somehow corrupted. Usually case like this Eclipse is added some duplicated .jars in your project and those .jars are usually same as Maven Dependency .jars.

If your project look like below example there is huge change that Maven Dependencies are duplicated and should be removed manually.


e.g. (Project Explorer View)
src/main/java
src/test/java
spring-boot-vaadin.jar
spring-aop.jar
Maven Dependencies
  spring-boot-vaadin.jar
  spring-aop.jar
etc...

...and this is cure :-)


Project/Properties/Java Build Path/Libraries

Just remove all REPO_M2/... paths and update project.



回答10:


Tomcat has different WAR deployment ways. Some work, some don't. Please try the following deployment methods :

  • Automatic: Copy-paste your WAR file into ${CATALINA_HOME}/webapps. A folder with the same name will appear if everything goes right.
  • Manager Application: Upload the WAR file
  • Manager Application: Locate the WAR file

In my case, using the Manager Application (local URL: http://localhost:8080/manager) worked. Whereas deploying using a copy-paste resulted in your error.



回答11:

I got this error when deploying a war file to Tomcat. My project required Java 1.8, and it turned out only Java 1.7 was installed. It wasn't immediately obvious from any log file that I could find.



回答12:

For me the problem was caused by checking the project into an other direcoty from git out. Choosing the same name as the war file solved the problem.



回答13:

I got this error when there was no enough space in server. check logs and server spaces