JAVA_HOME 配置問題導(dǎo)致的閃退
解決方案:
配置jdk時(shí)以名字為JAVA_HOME的環(huán)境變量
如果你在不是JAVA_HOME 而是 其他的 如:javahome ,隨后你的classpath,path都跟著寫javahome , 運(yùn)行java ,javac命令都不會(huì)報(bào)錯(cuò),但當(dāng)你運(yùn)行tomcat目錄下的startup.bat時(shí),就會(huì)閃退,這里主要都是因?yàn)樵谂渲胘dk時(shí)命名不規(guī)范。
修改startup.bat,使其不依賴JAVA_HOM 和 CATALINA_HOME變量的方法:
沒有在startup.bat目錄下運(yùn)行startup.bat導(dǎo)致的報(bào)錯(cuò)
這里它運(yùn)行在C盤,所以這里會(huì)報(bào)錯(cuò); 這里可以通過配置環(huán)境變量解決;
但也可以不配,因?yàn)橹恍枰?startup.bat 的目錄下運(yùn)行即可
2. 查看 startup.bat文件
文件解釋:
setlocal 是啟動(dòng)批處理文件中環(huán)境變量的本地化,相當(dāng)于設(shè)置臨時(shí)環(huán)境變量; 此命令有效到出現(xiàn)endlocal命令或到達(dá)批處理文件結(jié)尾為止
rem 代表注釋,看第一行注釋,如果CATALINA_HOME未定義,就猜!
文件意思大概為三點(diǎn):
判斷CATALINA_HOME是否為空,為空則把當(dāng)前目錄設(shè)為CATALINA_HOME的值;
再判斷 catalina.bat 是否存在,不存在則回到上一級(jí)目錄,再把當(dāng)前目錄設(shè)為CATALINA_HOME的值;
再判斷環(huán)境變量下的 catalina.bat 是否存在,存在則調(diào)用bin目錄下的 “catalina.bat start” 命令
所以,tomcat啟動(dòng)的時(shí)候是會(huì)自己設(shè)置臨時(shí)環(huán)境變量的,不必自己去配置
轉(zhuǎn)載來源鏈接:https://blog.csdn.net/weixin_43054397/article/details/91391122