tomcat启动时一闪而过的几种原因
雙擊tomcat的bin目錄下的startup.bat時一閃而過時,可以右鍵startup.bat找一個文本編輯器打開,然后在文本的最后敲上pause,保存后重新運行startup.bat,這時候窗口會留在桌面上(調試成功,把pause去掉即可)。我們可以看到DOS窗口里有錯誤信息。
1. The JRE_HOME environment variable is not defined correctly This environment variableis needed to run this program
原因:以前版本的tomcat需要JDK,現在的tomcat(本人的是7.0)只要有JRE就可以。 如果你裝的tomcat的是解壓版的(免安裝的)那么則需要自己手動配置JRE_HOME 這個環境變量,否則,就會出現上面的錯誤。
解決辦法:右擊 我的電腦 - 高級 - 環境變量, 在系統變量中 新建
變量名:JRE_HOME
變量值:C:\Program Files\Java\jre7(根據你自己的JDK安裝目錄尋找JRE)
2.Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
Tomcat的startup.bat,它調用了catalina.bat,而catalina.bat則調用了setclasspath.bat,只要在setclasspath.bat的開頭聲明環境變量(紅色兩行)就可以了,原因是后來較新版本安裝完不會自動登記環境變量JAVA_HOME,JRE_HOME。
給setclasspath.bat的開頭添加紅色標記部分,如下:
rem ___________________________
rem Set CLASSPATH and Java options
rem
rem Id:setclasspath.bat5052412007?02?0910:22:58Zjfclere
rem ____________________________
set JAVA_HOME=C:\Program Files\Java\jdk1.6.0_20
set JRE_HOME=C:\Program Files\Java\jre6
rem Make sure prerequisite environment variables are set
if not “%JAVA_HOME%” == “” goto gotJdkHome
if not “%JRE_HOME%” == “” goto gotJreHome
echo Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
echo At least one of these environment variable is needed to run this program
goto exit
這樣在每次運行startup.bat時就自動注冊了JAVA_HOME,JRE_HOME。
運行startup.bat,提示“信息:Server startup in xxxxx ms” OK 大功告成。
3. Cannot find “”d:\apache-tomcat-6.0.32”\bin\setclasspath.bat”
這個時候,可能是CATALINA_HOME的值在某個地方被寫死了,像我的綠色版tomcat在bin文件下多了一個setenv.bat的文件,打開一看果然是在這里面被寫死了CATALINA_HOME的路徑,這應該是為了某種原因被人后加上的設置文件,把這個文件刪除之后,tomcat可以正常運行了。
這種情況,可以去看catalina.bat中的配置,如下圖,可能配置死的內容就在這個文件里。
總結
以上是生活随笔為你收集整理的tomcat启动时一闪而过的几种原因的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: web.xml、JSP原理、指令
- 下一篇: 将solr安装到tomcat里