TomCat啟動(dòng)找不到配置的環(huán)境變量解決
錯(cuò)誤描述
通過tomcat/bin/startup.bat啟動(dòng)tomcat時(shí)遇到報(bào)錯(cuò)
The JRE_HOME environment variable is not defined correctly This environment variable is needed to run this program
終端界面一閃而過,發(fā)現(xiàn)啟動(dòng)失敗,這是由于tomcat在環(huán)境變量中檢索Java環(huán)境是出現(xiàn)錯(cuò)誤
追根溯源
打開bat文件查看,其中沒有關(guān)于JRE_HOME的報(bào)錯(cuò)信息,發(fā)現(xiàn)又運(yùn)行了catalina.bat
set "EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat"
既沒有關(guān)于catalina環(huán)境配置的報(bào)錯(cuò),又執(zhí)行了catalina.bat,那么我們就查看一下是不是在catalina.bat中拋出的JRE環(huán)境變量報(bào)錯(cuò)
閱讀bat代碼,發(fā)現(xiàn)第一個(gè)有關(guān)Java環(huán)境的代碼塊
rem Get standard Java environment variables if exist "%CATALINA_HOME%\bin\setclasspath.bat" goto okSetclasspath echo Cannot find "%CATALINA_HOME%\bin\setclasspath.bat" echo This file is needed to run this program goto end :okSetclasspath call "%CATALINA_HOME%\bin\setclasspath.bat" %1 if errorlevel 1 goto end
這里嘗試從setclasspath.bat中獲取Java environment,正符合我們的猜想,繼續(xù)查看setclasspath.bat
閱讀bat,發(fā)現(xiàn)我們觸發(fā)的報(bào)錯(cuò)代碼
:noJreHome rem Needed at least a JRE echo The JRE_HOME environment variable is not defined correctly echo This environment variable is needed to run this program goto exit
回溯調(diào)用源
:gotJreHome rem Check if we have a usable JRE if not exist "%JRE_HOME%\bin\java.exe" goto noJreHome if not exist "%JRE_HOME%\bin\javaw.exe" goto noJreHome goto okJava
rem In debug mode we need a real JDK (JAVA_HOME) if ""%1"" == ""debug"" goto needJavaHome rem Otherwise either JRE or JDK are fine if not "%JRE_HOME%" == "" goto gotJreHome if not "%JAVA_HOME%" == "" goto gotJavaHome 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
通過代碼我們知道,如果我們不在"debug"模式下,就會(huì)繼續(xù)檢索JRE或JDK任意一個(gè)來支持我們?cè)诜钦{(diào)試模式下的運(yùn)行,很明顯,我們?cè)诓檎襃RE_HOME時(shí)就出現(xiàn)了問題,從而引發(fā)報(bào)錯(cuò),接下來嘗試解決這個(gè)問題
問題解決
1.添加JRE_HOME環(huán)境變量
- win+R 輸入sysdm.cpl打開系統(tǒng)屬性->高級(jí)->環(huán)境變量
- 在系統(tǒng)變量中新建JRE_HOME 值為jre路徑
到這里,如果問題解決了,恭喜你,但是很多人和我一樣配置完畢后運(yùn)行還是報(bào)錯(cuò),請(qǐng)參考方法2
2.直接在腳本中增加靜態(tài)變量
既然最終會(huì)在setclasspath.bat中查找環(huán)境變量,那么我們就直接在這里指明環(huán)境變量位置,而不必讓其從系統(tǒng)配置中逐步檢索了
rem Set JAVA_HOME or JRE_HOME if not already set, ensure any provided settings rem are valid and consistent with the selected start-up options and set up the rem endorsed directory. rem --------------------------------------------------------------------------- rem Make sure prerequisite environment variables are set set JAVA_HOME=D:\Java_8 set JRE_HOME=D:\Java_8\jre
直接在腳本開頭寫好HOME參數(shù),注意將路徑改為自己的
再次運(yùn)行,成功
成功檢索到j(luò)re
到此這篇關(guān)于TomCat 啟動(dòng)找不到配置的環(huán)境變量解決的文章就介紹到這了,更多相關(guān)TomCat 啟動(dòng)找不到配置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
IntelliJ IDE運(yùn)行Tomcat報(bào)錯(cuò)解決辦法
這篇文章主要介紹了 IntelliJ IDE運(yùn)行Tomcat報(bào)錯(cuò)解決辦法的相關(guān)資料,出現(xiàn)“Unable to ping server at localhost:1099”錯(cuò)誤解決方法,需要的朋友可以參考下2017-08-08Tomcat運(yùn)行時(shí)在IDEA控制臺(tái)輸出信息中文亂碼的解決方案
本文主要給大家介紹Tomcat運(yùn)行時(shí)在IDEA控制臺(tái)輸出信息中文亂碼的解決方案,文中的解決方案介紹的非常詳細(xì),有需要的朋友可以參考閱讀下2023-08-08解決應(yīng)用啟動(dòng)失敗但tomcat不報(bào)錯(cuò)的方法
這篇文章主要給大家介紹了關(guān)于解決應(yīng)用啟動(dòng)失敗但tomcat不報(bào)錯(cuò)的方法,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。2017-06-06intellij idea 使用Tomcat部署的項(xiàng)目位置在哪
intellij idea 使用Tomcat部署的項(xiàng)目在哪里,為什么不在Tomcat的webapps目錄下面,本文通過圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2021-01-01