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

 更新时间:2024年12月03日 08:33:37   作者: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环境变量

  • win+R 输入sysdm.cpl打开系统属性->高级->环境变量
  • 在系统变量中新建JRE_HOME 值为jre路径

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 启动找不到配置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 关于tomcat点击startup.bat后闪退问题的解决办法

    关于tomcat点击startup.bat后闪退问题的解决办法

    这篇文章给大家分享了关于tomcat点击startup.bat后闪退问题分析及解决办法,非常不错,具有参考借鉴价值,需要的的朋友参考下吧
    2017-01-01
  • Tomcat使用https配置实战教程

    Tomcat使用https配置实战教程

    这篇文章主要介绍了Tomcat使用https配置实战,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-03-03
  • 搭建Tomcat 8源码开发环境的步骤详解

    搭建Tomcat 8源码开发环境的步骤详解

    相信大家都知道开源软件tomcat目前几乎已经是Java web开发的必备软件了,目前有很多关于tomcat的书籍,已经通过配置对tomcat进行一些跟应用业务功能的调优,但感觉如果仅仅只是了解一些配置,可能稍微少了点什么,下面通过本文深入到源代码中进行学些和了解。
    2016-10-10
  • tomcat配置https的方法示例

    tomcat配置https的方法示例

    这篇文章主要介绍了tomcat配置https的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • Tomcat架构设计及Servlet作用规范讲解

    Tomcat架构设计及Servlet作用规范讲解

    这篇文章主要为大家介绍了Tomcat架构设计及Servlet作用规范讲解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-08-08
  • 阿里云Centos7下安装Redis及tomcat设置自启动的方法

    阿里云Centos7下安装Redis及tomcat设置自启动的方法

    这篇文章主要介绍了阿里云Centos7下安装Redis及tomcat设置自启动的方法,本文实例代码相结合的形式给大家介绍的非常详细,需要的朋友可以参考下
    2018-03-03
  • linux设置tomcat开机启动的两种方式

    linux设置tomcat开机启动的两种方式

    文章介绍了两种配置Tomcat开机自启动的方法,方法一包括添加文件、进入目录、设置开机启动、查看状态、关闭自启动及设置JDK路径,方法二涉及编辑启动脚本和添加crontab任务
    2024-12-12
  • 在MyEclipse中修改Tomcat 6.x的端口号方法

    在MyEclipse中修改Tomcat 6.x的端口号方法

    今天小编就为大家分享一篇在MyEclipse中修改Tomcat 6.x的端口号方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05
  • 启动tomcat时 错误: 代理抛出异常 : java.rmi.server.ExportException: Port already in use: 1099的解决办法

    启动tomcat时 错误: 代理抛出异常 : java.rmi.server.ExportException: Port

    这篇文章主要介绍了启动tomcat时 错误: 代理抛出异常 : java.rmi.server.ExportException: Port already in use: 1099的解决办法的相关资料,需要的朋友可以参考下
    2016-05-05
  • Tomcat添加manager用户的实现

    Tomcat添加manager用户的实现

    Tomcat没有配置任何默认的用户,因此需要我们进行相应的用户配置之后才能使用Tomcat Manager,本文就来介绍一下Tomcat添加manager用户的实现,感兴趣的可以了解一下
    2023-10-10

最新评论