閱讀845 返回首頁    go 阿裏雲 go 技術社區[雲棲]


Neither the JAVA_HOME nor the JRE_HOME environment variable is defined

對於使用IDE開發的程序員來講,並不是所有人都對自己用來吃飯的工具了如指掌。常在陰溝跑,哪能不翻船。為此我把自己使用Tomcat/Eclipse的一些經驗教訓整理了一下,會陸續的貼出來,也許會幫到和我遇到同樣問題的人。 

先講一個Tomcat的問題。很多人興衝衝的下載了一個Tomcat,跑到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。搞得對Tomcat的學習熱情冷了一半。 

原因是後來較新版本的JDK(例如我使用的JDK1.6)安裝完不會自動登記環境變量JAVA_HOME,JRE_HOME。像我在單位的環境,我的用戶是受限製的(PowerUser),不方便設環境變量,於是我就找到了另外一個方法。 

先看Tomcat的startup.bat,它調用了catalina.bat,而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=D:\Java\jdk1.6.0_11
set JRE_HOME=D:\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。控製台窗口關閉後,這兩個變量也將消失,不會再占用內存。運行一下,最終提示“信息:Server startup in xxxxx ms”就大功告成了。

轉自:https://www.cnblogs.com/nuke/archive/2009/05/11/1454039.html

最後更新:2017-04-03 22:15:26

  上一篇:go 當移動遇見移動互聯
  下一篇:go 我國首份IP地理信息標準庫發布