启动 Tomcat 遇到 Neither the JAVA_HOME nor the JRE_HOME environment variable is defined 问题,已解决
原创博文,欢迎转载,转载时请务必附上博文链接,感谢您的尊重。
一、问题场景:
我的软件和环境:
- 操作系统:Windows 10
- Tomcat版本:Tomcat 9.0.44(非安装版)
- Java环境:JDK 1.8.0
需要下载 Tomcat 和 Java ,请转博文:https://jiming.blog.csdn.net/article/details/104713763
Tomcat启动、关闭方法:
- 管理员身份打开cmd,进入 tomcat 目录下的 /bin,输入【startup.bat】指令,运行启动文件即可;
- 关闭窗口,就相当于关闭本地 Tomcat 服务。
除了运行成功以外,当然也可能也会遇到某些异常,小编就遇到了这么一个,如下图所示:
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
二、原因分析:
错误提示的译文:
既没有定义JAVA_HOME,也没有定义JRE_HOME环境变量,运行此程序至少需要这些环境变量中的一个。
既然是环境变量加载不到,我们就简单概括的分析一下,Tomcat 在哪里需要加载JDK环境变量:
- 先来看看 startup.bat 文件,因为 Tmocat 启动会第一个调用它 →
- startup.bat 调用了 catalina.bat,一起来看看 →
- catalina.bat 则调用了 setclasspath.bat,额嗯,重点就在这里了!!
整个调用链路:启动文件startup.bat → catalina.bat → setclasspath.bat,setclasspath.bat 里读取系统的环境变量。
做程序员都知道的,配置系统的JAVA【环境变量】。如果“JAVA_HOME”和“JRE_HOME”本身为空,在系统变量中又找不到,就会出现标题中的问题,导致 Tomcat 启动失败。
三、解决办法:
我总结了2种解决方法,原理上是一致的,都是为了让Tomcat启动时能够加载到系统的JAVA环境变量。
- 方法1,是你搜同类问题时,其他博客中普遍介绍的一种,很直接很暴力很有效;
- 而方法2,我认为是最正统的从根本上解决问题的方法。
1. 直接修改 setclasspath.bat 文件:
因为启动 Tomcat 会调用 Tomcat 安装文件中的 “startup.bat”,“startup.bat” 调用了 “catalina.bat”,而它调用了 “setclasspath.bat”,而“setclasspath.bat” 会读取环境变量,因此只要在 “setclasspath.bat” 的开头手动声明环境变量即可;
如:我的Java 1.8.0 安装在了 D:\Program Files\Java\ 目录下
set JAVA_HOME=D:\Program Files\Java\jdk1.8.0_191
set JRE_HOME=D:\Program Files\Java\jdk1.8.0_191\jre
2. 配置JAVA的系统环境变量
右键点击【我的电脑】→选择【属性】→找到【高级系统设置】→进入【环境变量】设置界面...
小伙伴们是不是非常熟悉,没错,新装机的时候,我们都是这么配置JAVA的系统环境变量的,因为之前没有配置,一直使用IDE的默认JDK,所以引发了上述问题
在这里,我们需要配置两个参数:JAVA_HOME 和 Path
JAVA_HOME:D:\Program Files\Java\jdk1.8.0_191(你安装的JDK的磁盘路径)
Path:%Java_Home%\bin;%Java_Home%\jre\bin;
配置完成以后,重新启动 Tomcat 即可,下面是启动成功的cmd日志,至于Tomcat日志会弹出新的终端显示。
the end ,thank you...
我是 IT无知君,您的点赞、评论和关注,是我不懈创作的动力。
学无止境,气有浩然,让我们一起加油,天涯未远,江湖有缘再见!!
启动 Tomcat 遇到 Neither the JAVA_HOME nor the JRE_HOME environment variable is defined 问题,已解决相关推荐
- 解决Linux下启动Tomcat遇到Neither the JAVA_HOME nor the JRE_HOME environment variable is defined...
找不到JAVA_HOME路径,需要做以下变更: 找到启动路径所在的目录: cd bin/ vi catalina.sh 加入以下信息: export JAVA_HOME=/home/gongzi/ht ...
- centos7.3安装tomcat报Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
原来在Linux使用Tomcat不输工程使用的是新创建的用户非ROOT权限创建的,但可能会碰到一种情况,在这种用户身份下启动工程后,关闭SSH工具,工程便无法访问,于是需要换到root来执行,但会出现 ...
- pssh批量执行启动tomcat报错:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
文章目录 问题描述 问题分析 解决问题 问题描述 我这边一共4台主机,4台主机tomca路径一致.我想想通过pssh命令工具直接将4台主机的tomcat启动,命令如下: [root@hadoop-ma ...
- Tomcat启动报错:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
Tomcat启动报错:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined 今天在linxu环境Tomcat下部 ...
- Tomcat服务器环境配置--查看bat文件(解决Neither the JAVA_HOME nor the JRE_HOME environment variable is defined问题)
1. Tomcat环境配置 环境变量配置,博主以为无非就是在系统变量[path]中加上Tomcat目录的bin文件夹路径呗,然后上网一搜,果然就是配置Tomcat的bin目录和lib目录,于是在系统变 ...
- linux安装tomcat Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
这两天我们的开发机重启了好几次,发现每次重启后我的tomcat总是没有启动. 检查java路径,配置正确,后来拿普通账号启动tomcat时报如下的错: 1 Neither the JAVA_HOME ...
- Neither the JAVA_HOME nor the JRE_HOME environment variable is defined 完美解决(tomcat error)
error: Linux下启动和关闭tomcat报错,如下图所示: Neither the JAVA_HOME nor the JRE_HOME environment variable is def ...
- jenkins 远程启动tomcat报错:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
异常现象: jenkins 远程启动tomcat报错:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined 解决 ...
- 解决Neither the JAVA_HOME nor the JRE_HOME environment variable is defined问题
问题描述: 在cmd窗口使用 startup 命令启动Tomcat时,出现 Neither the JAVA_HOME nor the JRE_HOME environment variable is ...
- Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
Centos7.5 启动tomcat报错 报错: Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At ...
最新文章
- 百度云满速下载(转)
- mysql having子句_mysql having子句学习
- Mule ESB,ActiveMQ和DLQ
- 2899紫金矿业和1862澳华黄金一直都是我的重仓品种啊
- python大作业代码_大二期末python大作业有效代码不低于5000行是什么水平?
- java.lang.IllegalArgumentException: Must specify o
- Error: Can’t resolve ‘./src’ in ‘E:\ASUS\Documents\VSCode files\WebPackProject’
- qq 实现连接内网_如何穿透内网稳定进行远程桌面?花生壳盒子来搞定
- BZOJ 2560(子集DP+容斥原理)
- XMarks 书签王者
- java-mail.jar_mail.jar-Mail.jar下载 --pc6下载站
- 2020淘宝双11最强星秀猫怎么玩 怎么退出队伍你知道吗
- xp系统如何开启ftp服务器,xp系统怎么开ftp服务器
- 通达OA任意用户登录漏洞手工复现
- 又一北京“假名媛”曝光,蹭吃蹭喝21天,暴露人性最真实一面
- 如何使用typora来写博客?
- powershell下使用linux命令,Win10系统下使用Windows PowerShell运行ABD命令的方法
- 一起赚美元⑥ | 创立Discourse开源论坛软件每月赚取12万美元的故事
- 解决Android Studio连接不上逍遥模拟器的问题
- LibreCAD for windows 编译
热门文章
- 计算机excel保留一位小数,excel表格数据取一位小数-excel保留一位小数
- 医疗CT断层图像DICOM标准和工业CT断层图像DICONDE标准
- Android Studio的安装与配置
- mysql 后缀 deleted,MySQL · 特性分析 · (deleted) 临时空间
- Docker真实应用场景案例解析——ASSA ABLOY
- matlab泰勒展开样例,MATLAB绘图样例
- FreeMarker常见指令的简单介绍—快速入门(二)
- 学计算机的人掉头发吗,学计算机真的会秃顶吗?为什么?
- wav用matlab打不开,Matlab如何读取wav文件,为什么wavread不行啊
- linux系统双显卡切换显卡驱动,Ubuntu安装并切换Nvidia双显卡驱动的方法