启动tomcat时 一闪而过解决方法
【前文】
在實際開發中一般都是eclipse+tomcat(也許還會用到tomcat的插件),我們只需要在eclipse中單擊servers上的按鈕就可以成功啟動tomcat了,
但是如果想在tomcat的安裝目錄下?雙擊startup.bat啟動時卻一閃而過了。這是為什么呢(tomcat啟動失敗),馬上就帶大家看看具體的原因。
工具/原料
-
Tomcat
-
記事本
方法/步驟
下面我先跟大家確認一下問題出現的前提條件(本機版本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?會看到 我們期待已久的畫面啦。
啟動成功啦!
?
?
?
【后文】通過前面的3篇對Tomcat中startup.bat、catalina.bat、setclasspath.bat文件的解讀,
大家應該對它們有了大體的了解啦,遇到具體的問題我們就可以對癥下藥了。
我總結一下tomcat經常遇到的幾個問題:
1)The JAVA_HOME environment variable is not defined This environment variable is needed to run this program
分析原因:沒有在tomcat的配置文件中設置環境變量JAVA_HOME
解決方法:
? JAVA_HOME=H:\DevelopTools\Java\jdk1.6.0_20(具體值要以實際的jdk安裝路徑為準)
? CLASSPATH=.;%JAVA_HOME%;%JAVA_HOME%\jre\lib;
或者明確的定義JAVA_HOME環境變量
?在setclasspath.bat中開始位置加入以下倆句話:
?set JAVA_HOME=H:\DevelopTools\Java\jdk1.6.0_20
?set JRE_HOME=H:\DevelopTools\Java\jdk1.6.0_20(具體值要以實際的jdk安裝路徑為準)
2) The?JAVA_HOME?environment?variable?is?not?defined?correctly? This?environment?variable?is?needed?to?run?this?program NB:?JAVA_HOME?should?point?to?a?JDK?not?a?JRE
分析原因:環境變量JAVA_HOME的設置中應該指定jdk的路徑,不是jre的路徑
解決方法:
? JAVA_HOME=H:\DevelopTools\Java\jdk1.6.0_20(這里是JDK的安裝后路徑)
3)error?occurred?during?initialization?of?vm could?not?reserve?enough?space?for?object?heap could?not?create?the?java?virtual?machine
分析原因:因為程序初始化時請求不到足夠的內存,導致vm程序退出
解決方法:
設置tomcat的應用內存,在catalina.bat中?找到Execute?The?Requested?Command下面的set?JAVA_OPTS把這一句替換為 set?JAVA_OPTS=? -Xms800m?-Xmx800m
或者 set?JAVA_OPTS=?-server?-Xms800m?-Xmx800m?-XX:MaxNewSize=256m?
說明: - Xms為tomcat啟動初始內存 - Xmx為tomcat最大占用內存,以上兩個參數關系到tomcat承受的訪問性能,但也要根據服務器實際內存情況設定。
其他問題不再羅列了,以后遇到后可以自己動手解決了。
?
原出處:https://jingyan.baidu.com/article/546ae18563bacd1149f28cca.html來自百度經驗
轉載于:https://www.cnblogs.com/zzmb/p/8258364.html
總結
以上是生活随笔為你收集整理的启动tomcat时 一闪而过解决方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: js根据ip自动获取地址(省市区)
- 下一篇: linux里面三剑客的重要作用