Tomcat

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > Tomcat > TomCat启动找不到配置

TomCat启动找不到配置的环境变量解决

作者:vⅤ_Leon

本文主要介绍了TomCat启动找不到配置的环境变量解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

错误描述

通过tomcat/bin/startup.bat启动tomcat时遇到报错

The JRE_HOME environment variable is not defined correctly
This environment variable is needed to run this program

终端界面一闪而过,发现启动失败,这是由于tomcat在环境变量中检索Java环境是出现错误

image-20241202082502910

追根溯源

打开bat文件查看,其中没有关于JRE_HOME的报错信息,发现又运行了catalina.bat

set "EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat"

既没有关于catalina环境配置的报错,又执行了catalina.bat,那么我们就查看一下是不是在catalina.bat中抛出的JRE环境变量报错

阅读bat代码,发现第一个有关Java环境的代码块

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,正符合我们的猜想,继续查看setclasspath.bat

阅读bat,发现我们触发的报错代码

: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

回溯调用源

: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"模式下,就会继续检索JRE或JDK任意一个来支持我们在非调试模式下的运行,很明显,我们在查找JRE_HOME时就出现了问题,从而引发报错,接下来尝试解决这个问题

问题解决

1.添加JRE_HOME环境变量

image-20241202085609358

到这里,如果问题解决了,恭喜你,但是很多人和我一样配置完毕后运行还是报错,请参考方法2

2.直接在脚本中增加静态变量

既然最终会在setclasspath.bat中查找环境变量,那么我们就直接在这里指明环境变量位置,而不必让其从系统配置中逐步检索了

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参数,注意将路径改为自己的

再次运行,成功

image-20241202090707103

成功检索到jre

image-20241202090713330

到此这篇关于TomCat 启动找不到配置的环境变量解决的文章就介绍到这了,更多相关TomCat 启动找不到配置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文