tomcat 一閃而過,Neither the JAVA_HOME or the JRE_HOME environmental variable is defined.
當你下載一個壓縮包解壓后,到bin目錄下去打開startup.bat,結果提示Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At least one of these environment variable is needed to run this program。好,再去下載個最新版本的JDK,Install完成之后卻還是提示Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At least one of these environment variable is needed to run this program。着實讓人郁悶啊!
原因是后來較新版本的JDK(例如我使用的JDK1.7)安裝后不會自動創建環境變量JAVA_HOME,JRE_HOME。
方法一:
先看Tomcat的startup.bat,它調用了catalina.bat(CATALINA是Servlet的容器),而catalina.bat則調用了setclasspath.bat。只要在setclasspath.bat的開頭聲明環境變量,如下:
rem —————————————————————————
rem Set CLASSPATH and Java options
rem
rem $Id: setclasspath.bat 505241 2007-02-09 10:22:58Z jfclere $
rem —————————————————————————
set JAVA_HOME=C:\jdk6.0
set JRE_HOME=C:\jre1.6.0
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。控制台窗口關閉后,這兩個變量也將消失,不會再占用內存。運行一下,最終提示“信息:Server startup in xxxxx ms”就大功告成了。
方法二:
右擊我的電腦|屬性|高級|環境變量|在系統變量下新建一個JAVA_HOME=path/java/jdk;再新建一個JRE_HOME=path/java/jre;
像我的是:JAVA_HOME=D:\Program Files\Java\jdk1.7.0_03;JRE_HOME=D:\Program Files\Java\jre7;
現在去開啟startup.bat應該沒問題了。
