事情起因是因为安装TOMCAT的时候出现了问题

The JAVA_HOME environment variable is not defined correctly
This environment variable is needed to run this program
NB: JAVA_HOME should point to a JDK not a JRE
然后我就去搜索解决办法,找到了这篇文章,于是我跟着文章一顿操作,我发现还是不行,于是我跟着文章的思路重新分析。
下面是从service.bat 中截取的部分代码。
大致分析下。
我认为逻辑应该是:查找环境变量,没有环境变量则报错,有环境变量再用环境变量\bin去找java.exe和javac.exe。
if not exist "%JRE_HOME%\bin\java.exe" goto noJavaHome
goto okJavaHome
:gotJdkHome
if not exist "%JAVA_HOME%\bin\javac.exe" goto noJavaHome
if not exist "%JAVA_HOME%\bin\java.exe" goto noJavaHome
if not "%JRE_HOME%" == "" goto okJavaHome
set "JRE_HOME=%JAVA_HOME%"
goto okJavaHome
:noJavaHome
echo The JAVA_HOME environment variable is not defined correctly
echo This environment variable is needed to run this program
echo NB: JAVA_HOME should point to a JDK not a JRE
于是我首先在命令行确定了我的Java环境变量是没问题的。
随后我去我java环境变量里的bin文件夹下找java.exe和javac.exe。
随后我发现,bin下没有javac.exe。
这下我基本锁定是这个问题。
找了下网上大哥大姐们给的解决方案。
有说原因是因为:你安装JDK的时候,有个步骤是选择安装jre,如果你把jre的安装路径放在jdk下面,就会出现这个问题的,建议重新安装jdk。
看了一圈下来,基本都在建议重装,那我只能重装了。
但问题是,我在我的jdk19里的bin找到了javac.exe这让我有点疑惑。
于是我找了下,看看JDK19目录下的bin有没有java.exe,结果他是有的,然后我将JAVA_HOME改成了JDK19,并在命令行里运行java和java -version两个命令,都成功运行,于是我试着安装。

但还是失败了,看来不得不重装了。

不想重装,于是随便翻翻又看到一个办法:

笑嘻,我是傻逼,找了一圈,jre压根没装。
重装!
跟着这篇文章重装了jdk17,这文章详细的不得了。
在终端输入java、javac、Java -version 都有返回,这回再装一次tomcat。

成功!
剩下就跟着这篇文章配置tomcat到idea。
🆗,启动的时候又出问题:
The CATALINA_HOME environment variable is not defined correctly
This environment variable is needed to run this program
我看了看我的CATALINA_HOME,确实是我的安装路径,我又不知道我哪里错了。
上网搜搜看,然后我跟着这篇文章的第二个办法,就是将目录名改了的办法成功运行tomcat。基本确定是文件目录名过长或者是有特殊字符导致的问题。


在安装TOMCAT时遇到JAVA_HOME环境变量错误,文章描述了检查环境变量、寻找javac.exe并尝试重装JDK的过程。最终发现JRE未正确安装,重装JDK17并设置正确环境变量后,TOMCAT安装成功,但在启动时遇到CATALINA_HOME错误。通过修改目录名解决了这个问题。
7442

被折叠的 条评论
为什么被折叠?



