[ 解决报错篇 ] tomcat 执行 startup.bat 文件报错 -- tomcat 启动失败(安装 java 环境并配置环境变量)

news2024/11/22 22:00:11

🍬 博主介绍

👨‍🎓 博主介绍:大家好,我是 _PowerShell ,很高兴认识大家~
✨主攻领域:【渗透领域】【数据通信】 【通讯安全】 【web安全】【面试分析】
🎉点赞➕评论➕收藏 == 养成习惯(一键三连)😋
🎉欢迎关注💗一起学习👍一起讨论⭐️一起进步📝文末有彩蛋
🙏作者水平有限,欢迎各位大佬指点,相互学习进步!

文章目录

  • 🍬 博主介绍
  • 一、前言
  • 二、发现报错
  • 三、分析报错
  • 四、解决办法1:
    • 1、下载安装JDK
    • 2、环境变量配置流程
    • 3、具体配置过程
      • 1.JAVA_HOME变量设置
      • 2.Path变量设置
    • 4、问题解决
  • 五、解决方法2:
    • 1、简单分析
    • 2、编辑setclasspath.bat
    • 3、声明JAVA_HOME环境变量
    • 4、问题解决
  • 六、相关资源

一、前言

今天搭建靶场环境碰到一个报错,这里分享解决报错的过程

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

二、发现报错

直接执行startup.bat启动tomcat

在这里插入图片描述

双击打开,运行窗口一闪而过,tomcat并没有起来

在这里插入图片描述

在cmd窗口使用 startup 命令启动Tomcat时,执行startup.bat,看到报错信息,这里的意思大致就是找不到java环境

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

在这里插入图片描述

三、分析报错

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环境变量都没有定义,运行此程序至少需要其中一个环境变量。通过报错信息我们知道是由于找不到Java环境导致的报错,我们就能想到以下的思路。
1.看有没有java环境
2.有没有配置环境变量
下面我们就一步步来解决,我这里安装了jdk,存在Java环境,那就是我环境变量出了问题。

四、解决办法1:

1、下载安装JDK

在系统环境变量中添加 JAVA_HOME 环境变量,变量的值为 JDK的安装目录。
没有java环境可以安装JDK,下载链接:

https://pan.baidu.com/s/15PE5vikEHhma-2rEcjjSzA?pwd=zh57 

下载之后双击安装就OK了,由于我之间搭建靶场环境之前就安装了JDK,我这里就不演示安装过程了

2、环境变量配置流程

配置java环境变量的方法:

1、右键点击计算机,选择属性,点击高级系统设置,打开环境变量设置;
2、新建JAVA_HOME变量,并编辑Path变量;
3、新建Classpath变量并编辑即可。

3、具体配置过程

1.JAVA_HOME变量设置

1、首先右击计算机进入属性然后选择其中的高级系统设置。

在这里插入图片描述

2、点击进入高级中的环境变量,进入环境变量编辑界面。

在这里插入图片描述

3、在下方的系统变量中,并不存在JAVA_HOME变量,那么我们需要点击新建

在这里插入图片描述

4、输入新编变量名和变量值
变量名输入:JAVA_HOME,输入jdk安装的绝对路径,点击确定
Jdk默认安装在C:\Program Files\Java路径下

在这里插入图片描述

2.Path变量设置

1、同样是在系统变量中我们可以看到path变量已经存在,那么我们只需要点击编辑,进入path变量的编辑

在这里插入图片描述

2、在path路径下添加jdk的bin目录和jre的bin目录

在path路径下添加两个变量值,jdk的bin目录和jre的bin目录,Java的绝对路径我们之前已经赋值给了JAVA_HOME,我们只需要用JAVA_HOME代替绝对路径即可。
当然这里也可以直接添加jdk的jre的bin目录的绝对路径

%JAVA_HOME%\bin
%JAVA_HOME%\jre\bin

最后点击确定。

在这里插入图片描述

4、问题解决

直接双击tomcat的bin目录下的startup.bat文件(起不来记得管理员身份执行,第一次好像需要管理员身份)

也可以使用cmd窗口运行

也是可以起来的

五、解决方法2:

1、简单分析

如果不方便设置环境变量,可以在setclasspath.bat 文件的开头声明JAVA_HOME环境变量。
因为启动Tomcat实际上是运行了startup.bat文件,而 startup.bat 文件中调用了catalina.bat 文件,在catalina.bat 文件中则又调用了setclasspath.bat 文件,所以,可以通过在setclasspath.bat 文件的开头声明JAVA_HOME环境变量来解决问题。

2、编辑setclasspath.bat

3、声明JAVA_HOME环境变量

set JAVA_HOME= JDK安装路径,路径不需要用双引号包含
set JRE_HOME= jre文件夹路径,路径不需要用双引号包含

4、问题解决

声明JAVA_HOME环境变量,tomcat同样可以起来,直接双击tomcat的bin目录下的startup.bat文件(起不来记得管理员身份执行,第一次好像需要管理员身份)

六、相关资源

1、JDK下载链接

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/158476.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux——팔 gdb部分基础知识以及操作系统的初级理解

文章目录一、gdb部分基础知识1、打断点2、逐语句过程3、监视&#xff0c;内存4、部分功能指令二、进程概念的初级理解1、冯-诺依曼体系结构2、操作系统的初级理解一、gdb部分基础知识 承接上一篇。 1、打断点 放一下全部代码 1 #include <stdio.h>2 3 int ADD(int n)4…

vs2017调试ffprobe源码

鄙人之前写过vs2017调试ffmpeg源码 现在由于需要分析视频文件里面的具体帧情况&#xff0c;需要用到ffprobe工具&#xff0c;为此本篇博客搭建vs2017工程&#xff0c;可以调试ffprobe&#xff0c;ffprobe比ffmpeg简单很多。 首先找到ffmpeg的编译目录&#xff0c;将下列三个文…

结构体内存对齐与位段详解

文章目录前言一、内存对齐1.内存对齐的规则2. 内存对齐的具体实例与运用3.为什么会有内存对齐&#xff1f;4.修改默认对齐数二、位段1.什么是位段2.位段的例子3.位段的优缺点结语前言 学习了结构体&#xff0c;你会算结构体的占用字节数吗&#xff0c;许多人恐怕摇头&#xff0…

ArcGIS分式、假分式标注

解说一下 ArcGIS中不同标注 直接标注语句分享见文后 分式标注 假分式标注 二、标注语句与视频教学 ArcGIS分数、假分数标注获取语句地址&#xff1a; ArcGIS分式、假分式标注&#xff01;标注语句直接分享 推荐学习 ArcGIS之模型构建器&#xff08;ModelBuilder&#xff0…

初级通讯录的实现详细攻略

我们设计的要求存储多少个人的信息我们使用宏&#xff0c;这样方便修改建立三个文件先从主函数入手为了持续多次&#xff0c;实现操作&#xff0c;我们利用循环&#xff0c;循环次数未知&#xff0c;我们只能选择while循环&#xff0c;do-while循环&#xff0c;我们始终要进行一…

ORB-SLAM2 --- LoopClosing::Run 回环检测线程解析

目录 1.函数作用 2.code 3.函数解析 3.1 查看是否有待处理的回环关键帧LoopClosing::CheckNewKeyFrames 3.2 检测闭环LoopClosing::DetectLoop 3.3 计算当前关键帧和上一步闭环候选帧的Sim3变换 3.4 闭环矫正 1.函数作用 回环检测&#xff0c;又称闭环检测&#xff0c…

文件操作和IO

一.文件的概念&#xff1a;狭义的文件指&#xff1a;硬盘上的文件和目录广义上的文件指&#xff1a;计算机中的很多软硬件资源路径&#xff1a;绝对路径&#xff1a;以c&#xff1a;d盘符开头的路径&#xff0c;比如c:/Intel/Logs/text.txt相对路径&#xff1a;以当前所在的目录…

Vue - 完美解决小数的四则运算(加减乘除)导致精度丢失问题,提供详细计算示例代码vue数据计算丢失精度

前言 由于 JavaScript 语言的问题,两个小数进行四则运算时,会出现各种问题,一些财务系统是必须要解决的。 本文实现了 完美修复小数计算时,计算错误、精度丢失等问题, 您可以进行任意小数的四则运算,都能保证结果是正确的。 如下图所示,使用了本文提供的方法后,可以形…

ArcGIS修改图斑时替换几何的妙用!不要只会整型要素

我们时常通过整型要素来修改要素的形状&#xff0c;但是有时候我们改变整个要素的形状、位置&#xff0c;还要保留属性不变&#xff0c;那我们就要考虑&#xff0c;高级编辑中的“替换几何”工具了。 01 替换几何原理 1 、“替换几何”工具可以为要素创建全新形状。“替换几何…

【Java】Properties类

文章目录01 初识Properties02 Properties常用方法03 Properties使用案例01 初识Properties 创建这样一个配置文件&#xff1a; 传统方法&#xff1a; public static void main(String[] args) throws IOException {//读取mysql.properties文件&#xff0c;并得到ip、user、pw…

Dubbo集群容错

Dubbo集群容错 1. 集群容错 集群调用失败时&#xff0c;Dubbo 提供的容错方案。 在集群调用失败时&#xff0c;Dubbo 提供了多种容错方案&#xff0c;缺省为 failover 重试。 各节点关系&#xff1a; 这里的 Invoker 是 Provider 的一个可调用 Service 的抽象&#xff0c;I…

n皇后(回溯)

著名的n皇后问题 即在棋盘上任意两个皇后不能在同一行&#xff0c;同一列&#xff0c;或者斜对角线&#xff0c;反斜对角线的位置 以判断&#xff08;5&#xff0c;1&#xff09;位置为例 往右下方&#xff08;斜对角线&#xff09;一连串的位置 &#xff08;5&#xff0c;1&…

Naive-UI自定义TabPane样式

前言前端开发通常使用 第三方 UI 组件库&#xff0c;像大家熟悉的 Element-UI、AntD Vue 等最近发现一个 还比较好用的 组件库 Naive-UI 传送门 &#xff0c;Vue 3 组件库&#xff0c;使用 TypeScript &#xff0c;用起来感觉还不错&#xff0c;它的主题也可以切换 &#xff08…

首款自研成像雷达发布!国产玩家赋能智能驾驶“第四类”感知

4D成像雷达赛道的“战火”正在不断升级。 高工智能汽车研究院预计&#xff0c;4D成像雷达将从2023年初开始小规模前装导入&#xff0c;预计到2024年&#xff0c;定点/搭载量有望突破百万颗&#xff0c;到2025年占全部前向毫米波雷达的比重或超过40%。 伴随着中国自动驾驶的渗…

Java多线程:多线程 Thread 类 中常用的方法的使用

Java多线程&#xff1a;多线程 Thread 类 中常用的方法的使用 每博一文案 日本有一位方丈曾在其寺庙的公告栏上写下一句标语&#xff1a; ”没有失败的人生才最失败。“ 深以为然&#xff0c;不上高山&#xff0c;不知平地&#xff0c;不经大海&#xff0c;不懂宽阔的涵义&…

很少人知道的7个极酷HTML元素

搜索很酷的HTML元素&#xff0c;尤其是当您不知道要查找什么时&#xff0c;通常就像被扔进一堆垃圾中一样动图别担心&#xff0c;我为你做了肮脏的工作&#xff01;在浏览了看似无穷无尽的HTML元素之后&#xff0c;我挖出了一些很少使用的宝石&#xff01;1. meter&progres…

多线程Monitor工作原理

&#x1f34e;1. 什么是Monitor?我们都知道synchronized的作用是用来保证修饰的代码或者方法执行有且只有一个线程执行&#xff0c;也就是锁。那么在执行被锁住的方式时&#xff0c;synchronized就需要通过monitor来记录和保证锁的状态。所以monitor这里的作用其实就是起到了控…

RFID固定资产管理系统实现批量“秒”级盘点

面对成千上万&#xff0c;乃至几十万的固定资产&#xff0c;如何能高效管理&#xff0c;做到管理无漏洞&#xff0c;盘点无错漏呢&#xff1f;很多企业和软件厂商都在考虑这个问题。现如今&#xff0c;随着物联网的发展&#xff0c;企业可批量实现固定资产的秒级盘点&#xff0…

【C++核心编程】C++全栈体系(十一)

C核心编程 第四章 类和对象 七、多态 1. 多态的基本概念 多态是C面向对象三大特性之一 多态分为两类 静态多态: 函数重载 和 运算符重载属于静态多态&#xff0c;复用函数名动态多态: 派生类和虚函数实现运行时多态 静态多态和动态多态区别&#xff1a; 静态多态的函数…

打印机共享遇到的常见问题与解决方法

共享打印机提示错误0X000006d9 解决方法: 1、桌面找到计算机或此电脑,然后再图标上右键选择管理选项菜单; 2、在打开的计算机管理对话框中选择服务和应用程序选项; 3、双击服务和应用程序选项就会打开一个对话框,然后再选择服务菜单双击;