下面我先跟大家確認一下問題出現的前提條件(本機版本java:1.6.20,tomcat:6.0.32)
1)在eclipse里面啟動tomcat時都是正常的。
2)在系統中配置了各種環境變量如下:
JAVA_HOME:H:\DevelopTools\Java\jdk1.6.0_20
CATALINA_BASE:H:\DevelopTools\apache-tomcat-6.0.32
CATALINA_HOME:H:\DevelopTools\apache-tomcat-6.0.32
CLASSPATH:.;%JAVA_HOME%;%JAVA_HOME%\jre\lib;
PATH:.;%JAVA_HOME%\bin;%CATALINA_HOME%\bin;
我們來具體來分析一下問題出現的原因及解決辦法:
進入tomcat的安裝目錄(即解壓后放置的地方):
看到圈出紅色的3個bat文件,一般通過startup.bat啟動tomcat時流程是:startup->catalina->setclasspath->catalina
如果這3個bat文件里面有一個出現錯誤的話就是啟動失敗。為了找到一閃而過的原因得需要我們來看看這3個文件里面到底是什么了
先記事本打開startup.bat,找到最后一句話::end,我們知道end表示結束的意思,:end是一個標記,我們在后面加上一句pause (暫停等待的意思);
再次執行startup.bat,就會看到如圖,當我們按任意的鍵時cmd窗口又是一閃而過了。但是這已經確定了我們的環境變量都是正確的。
為了更加詳細的看到信息,我們再來更改一句:找到call "%EXECUTABLE%" start %CMD_LINE_ARGS% 把里面的start替換為run。
再來看看cmd窗口里面輸出錯誤信息了:
error occurred during initialization of vm
could not reserve enough space for object heap
could not create the java virtual machine
我們大體可以理解為:因為程序初始化時請求不到足夠的內存,導致vm程序退出。
那么既然找到了問題的原因,我們可以來解決這個問題了:申請足夠的內存就可以了
如下操作:在catalina.bat中 找到Execute The Requested Command下面的
set JAVA_OPTS把這一句替換為:
set JAVA_OPTS= -server -Xms800m -Xmx800m -XX:MaxNewSize=256m
關於set JAVA_OPTS這句話其實有很多種替換的方式,但是大體上都是一樣的
再次啟動startup.bat 會看到 我們期待已久的畫面啦。
啟動成功啦!

![啟動tomcat時 一閃而過解決方法:[1]前文](/image/aHR0cDovL2UuaGlwaG90b3MuYmFpZHUuY29tL2V4cC93PTUwMC9zaWduPWQ2ODcxMWY1MGVkNzkxMjNlMGUwOTQ3NDlkMzU1OTE3L2ZjZmFhZjUxZjNkZWI0OGY5MDUzZTAyM2YyMWYzYTI5MmRmNTc4MTAuanBn.png)
![啟動tomcat時 一閃而過解決方法:[1]前文](/image/aHR0cDovL2YuaGlwaG90b3MuYmFpZHUuY29tL2V4cC93PTUwMC9zaWduPTNiZmJhMGY0YjQwMDNhZjM0ZGJhZGM2MDA1MmJjNjE5LzM3ZDEyZjJlYjkzODliNTA0MmVhYTBhZjg3MzVlNWRkZTcxMTZlMzEuanBn.png)
![啟動tomcat時 一閃而過解決方法:[1]前文](/image/aHR0cDovL2YuaGlwaG90b3MuYmFpZHUuY29tL2V4cC93PTUwMC9zaWduPTI5MDk0NDYwYzllZjc2MDkzYzBiOTk5ZjFlZGZhMzAxLzk4MjViYzMxNWM2MDM0YTg3YjIyZjg3Y2M5MTM0OTU0MDgyMzc2MGUuanBn.png)
![啟動tomcat時 一閃而過解決方法:[1]前文](/image/aHR0cDovL2MuaGlwaG90b3MuYmFpZHUuY29tL2V4cC93PTUwMC9zaWduPTVhZjQ1MGQyOTdjYWQxYzhkMGJiZmMyNzRmM2Y2N2M0LzA4MjRhYjE4OTcyYmQ0MDc1ZjQwOTMwMDc5ODk5ZTUxMGViMzA5NDMuanBn.png)
![啟動tomcat時 一閃而過解決方法:[1]前文](/image/aHR0cDovL2IuaGlwaG90b3MuYmFpZHUuY29tL2V4cC93PTUwMC9zaWduPWRjODViZGRlNGI1NDA5MjNhYTY5NjM3ZWEyNTlkMWRjLzczOGI0NzEwYjkxMmM4ZmM5MmZhYjUzMGZlMDM5MjQ1ZDc4ODIxYzUuanBn.png)
![啟動tomcat時 一閃而過解決方法:[1]前文](/image/aHR0cDovL2QuaGlwaG90b3MuYmFpZHUuY29tL2V4cC93PTUwMC9zaWduPWVjMTY4NTEzYjY4ZjhjNTRlM2QzYzUyZjBhMjgyZGVlLzk0Y2FkMWM4YTc4NmM5MTczYzc5MTFjNGNiM2Q3MGNmM2FjNzU3ZDAuanBn.png)
![啟動tomcat時 一閃而過解決方法:[1]前文](/image/aHR0cDovL2MuaGlwaG90b3MuYmFpZHUuY29tL2V4cC93PTUwMC9zaWduPTEzZDg0ZmRmYjExYmIwNTE4ZjI0YjMyODA2N2JkYTc3L2ExZWMwOGZhNTEzZDI2OTdlMzQxNGJhMDU3ZmJiMmZiNDIxNmQ4YjkuanBn.png)
![啟動tomcat時 一閃而過解決方法:[1]前文](/image/aHR0cDovL2YuaGlwaG90b3MuYmFpZHUuY29tL2V4cC93PTUwMC9zaWduPWJlYjkxNTFkZjUwMzkxOGZkN2QxM2RjYTYxM2MyNjRiLzI5MzQzNDliMDMzYjViYjUxNDc0NjIwMzM0ZDNkNTM5YjcwMGJjYTguanBn.png)
![啟動tomcat時 一閃而過解決方法:[1]前文](/image/aHR0cDovL2IuaGlwaG90b3MuYmFpZHUuY29tL2V4cC93PTUwMC9zaWduPTQxMDM3ZjM3NTMzZDI2OTcyZWQzMDg1ZDY1ZjliMjRmL2M4ZWExNWNlMzZkM2Q1Mzk1N2VmNGQzZTM4ODdlOTUwMzQyYWIwNzkuanBn.png)