tomcat点startup.bat启动时闪退,报错:the CATALINA_HOME environment variable is not defined correctly

今天想安装tomcat 9,在官网下载后兴致冲冲的去解压,配置环境变量,然后startup.bat启动发现闪退。百度和谷歌了好多,都没有找到解决办法,然后就又删除了tomcat 9。可谁知,我之前好好的tomcat 7启动时也出现了同样的问题。那叫一个气呀。

打开eclipse,在eclipse中tomcat可以正常启动,你说气不气,就是点startup.bat闪退。我有强迫症,非得把它弄好!于是我试过以下几种办法,但是都没有成功,如果你也遇到这样的问题,希望别踩这个坑!!!

  1. 重新配置CATALINA_HOME,CATALINA_Base,TOMCAT_HOME等环境变量,因为我之前就配好着,所以这个方法并没有什么卵用!
  2. 在cmd命令行下检查 CATALINA -version时报错:the CATALINA_HOME environment variable is not defined correctly,This environment variable is needed to run this program。按照网上的做法,我修改了startup.bat,在@echo off下面添加如下内容:

                 SET JAVA_HOME=jdk安装目录

                 SET CATALINA_HOME=tomcat安装目录

                 rem Guess CATALINA_HOME if not defined和set "CURRENT_DIR=%cd%"之间添加 set "EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat",但是都没有成功。

如果你和我一样,也都试过了上面两种办法,但是都没有成功,你应该看看下面的内容

若在cmd命令行下检查 CATALINA -version时报错:

碰到这个问题,第一反应应该是检查CATALINA_HOME环境变量!我的是这样的,乍一看没问题,但就是启动闪退!

tomcat点startup.bat启动时闪退,报错:the CATALINA_HOME environment variable is not defined correctly_第1张图片

所以,我们先来看看startup.bat脚本,找到出错的位置

tomcat点startup.bat启动时闪退,报错:the CATALINA_HOME environment variable is not defined correctly_第2张图片

注意看红色部分,它的工作原理是这样的:

1. 手动CATALINA_HOME环境变量后,产生报错的原因是因为环境变量后加了一个分号(;),所以%catalina_home%\bin\catalina.bat路径里面\bin前面会多一个分号(;),引发了第二次报错,去掉CATALINA_HOME中的分号后问题解决!

这就是我的解决办法,希望能帮到广大的和我一样的小菜鸟······

你可能感兴趣的:(杂项)