下面我先跟大家確認一下問題出現的前提條件(本機版本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窗口里面輸出錯誤信息了:
erroroccurredduringinitializationofvm
couldnotreserveenoughspaceforobjectheap
couldnotcreatethejavavirtualmachine
我們大體可以理解為:因為程序初始化時請求不到足夠的內存,導致vm程序退出。
那么既然找到了問題的原因,我們可以來解決這個問題了:申請足夠的內存就可以了
如下操作:在catalina.bat中找到ExecuteTheRequestedCommand下面的
setJAVA_OPTS把這一句替換為:
setJAVA_OPTS=-server-Xms800m-Xmx800m-XX:MaxNewSize=256m
關于setJAVA_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) TheJAVA_HOMEenvironmentvariableisnotdefinedcorrectly Thisenvironmentvariableisneededtorunthisprogram NB:JAVA_HOMEshouldpointtoaJDKnotaJRE
分析原因:環境變量JAVA_HOME的設置中應該指定jdk的路徑,不是jre的路徑
解決方法:
JAVA_HOME=H:\DevelopTools\Java\jdk1.6.0_20(這里是JDK的安裝后路徑)
3)erroroccurredduringinitializationofvm couldnotreserveenoughspaceforobjectheap couldnotcreatethejavavirtualmachine
分析原因:因為程序初始化時請求不到足夠的內存,導致vm程序退出
解決方法:
設置tomcat的應用內存,在catalina.bat中找到ExecuteTheRequestedCommand下面的setJAVA_OPTS把這一句替換為 setJAVA_OPTS= -Xms800m-Xmx800m
或者 setJAVA_OPTS=-server-Xms800m-Xmx800m-XX:MaxNewSize=256m
說明: - Xms為tomcat啟動初始內存 - Xmx為tomcat最大占用內存,以上兩個參數關系到tomcat承受的訪問性能,但也要根據服務器實際內存情況設定。
其他問題不再羅列了,以后遇到后可以自己動手解決了。
感謝各位的閱讀,以上就是“tomcat啟動閃退的原因及解決方法”的內容了,經過本文的學習后,相信大家對tomcat啟動閃退的原因及解決方法這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是本站,小編將為大家推送更多相關知識點的文章,歡迎關注!
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...
2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...
:喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...
【資料圖】關于唐朝樂隊的主唱叫什么的知識大家了解嗎?以下就是小編整理的關于唐朝樂隊的主唱叫什么的介紹,希望可以給到大家一些參考,一起來了解下吧!1962年12月30日生于北京,早期參與組織多支樂隊。1978年,丁武考入北京市工藝美術學校美術系。1982年,丁武畢業后在北京132中任職美術老師,教學生美術基礎。1989 年以丁武為主,新成立不久的唐朝樂隊應邀參加了北京首都體育館舉辦的90現代音樂會,...
光大銀行基金定投怎么樣?光大銀行基金定投業務是指投資人與光大銀行簽署協議,托光大銀行按其約定日期、約定金額、指定基金、約定期數為投資人定期定額申購基金的行為。光大銀行接受投資人委托后,根據協議要求,在每月約定日期發起約定的定期定額申購業務,并從投資人銀行賬戶內扣劃相應的申購款。辦理渠道:光大銀行網上銀行、柜臺那么,每月定投10元有意義嗎?有意義。資金積少成多,基金定投金額不是最重要的,時間才是最重...
鄭州住房公積金查詢個人賬戶的方法有哪些?方法一: 鄭州住房公積金在線查詢鄭州公積金查詢網:http://www.zzgjj.com/說明:打開查詢頁面后,在中間部分辦事指南下方查找,輸入賬戶或身份證號進行查詢。電話語音查詢本系統免收信息服務費,住房公積金繳存職工通過市話撥打或即可查詢住房公積金繳存和貸款情況。0371-來源:鄭州住房公積金查詢數據由鄭州公積金網提供方法二:鄭州住房公積金查詢電話住房...