1. 程式人生 > >JAVA開發中遇到的jdk配置正確但是tomcat伺服器啟動時一閃而過

JAVA開發中遇到的jdk配置正確但是tomcat伺服器啟動時一閃而過

今天看了tomcat配置的一些東西,遇到了一些問題:

1、剛開始啟動tomcat啟動不了,點選startup.bat後一閃而過,發現沒有安裝jdk,後來安裝並配置後,在命令列中用java和javac都有正確的反應。

2、再去啟動tomcat,發現出現了一大堆東西后,視窗還是自動關閉掉了,上網查了原因:大多數都說沒有配置JAVA_HOME,還有些說是因為設定的記憶體太小了,溢位來了,嘗試修改了下記憶體,發現不是那個問題,又看其他的帖子,如關於jdk配置正確但是tomcat伺服器啟動時一閃而過的解決辦法都未能解決問題,折騰了將近一個小時後,因為重灌系統之前直接啟動是沒問題的,後來想起來看錯誤日誌:

一月 14, 2016 7:01:47 下午 org.apache.catalina.startup.Catalina start
嚴重: The required Server component failed to start so Tomcat is unable to start.
org.apache.catalina.LifecycleException: Failed to start component [StandardServer[8005]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
at org.apache.catalina.startup.Catalina.start(Catalina.java:689)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:321)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:455)
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardService[Catalina]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:731)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 7 more
Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina]]
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
at org.apache.catalina.core.StandardService.startInternal(StandardService.java:443)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 9 more
Caused by: org.apache.catalina.LifecycleException: A child container failed during start
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1131)
at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:300)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
... 11 more

這些都未能很清晰的說明問題的所在,再後來就想起來了,之前可能在server.xml中配置了web的目錄(今天看完才發現這種方式不可取,原因稍後介紹),那個配置的目錄在新安裝的系統中是不存在的,把這個刪完再重新啟動就可以了。