在启动tomcat的start.bat时报了这个错误

The CATALINA_HOME environment variable is not defined correctly.This environment variable is needed to run this program

这个问题一般出现于CATALINA_HOME、JAVA_HOME的环境变量配置错误,例如结尾的路径包含多余的符号如;\等,请检查。

环境变量配置如下:
name:JAVA_HOME
value:C:\jdk1.6.0_31(路经根据自己的实际情况修改)

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

而我当时配置这一块儿的时候尝试修改了很多次,最终确认没问题,却仍然报错。就需要在start.bat文件中设置CATALINA_HOME后的文件片段,加入这一行:

set CATALINA_HOME=D:\apache-tomcat

之前配置的CATALINA_HOME环境变量删了就可以。

这一步是设置CATALINA_HOME环境变量,在它的下面是判断CATALINA_HOME是否为空的语句。如果找不准位置,干脆将设置CATALINA_HOME环境变量的这句代码放到文件的第一行。JAVA_HOME环境变量也可以采用同样的方式进行设置。不过,如果要在其他目录下利用shutdown.bat来关闭Tomcat服务器,则需要在shutdown.bat文件中设置CATALINA_HOME和JAVA_HOME这两个环境变量,设置变量的位置和startup.bat文件一样,都是在判断CATALINA_HOME是否为空之前。当然,为了一劳永逸,避免重装Tomcat后还要进行设置(需要是同一版本的Tomcat安装在同一位置),我们最好还是将CATALINA_HOME和JAVA_HOME这两个环境变量添加到系统的环境变量中。

有的读者可能会对Tomcat安装目录的环境变量的名字是CATALINA_HOME而感到奇怪,按照其他环境变量的设置来看,JAVA_HOME表示JDK的安装目录,那么应该用TOMCAT_HOME来表示Tomcat的安装目录,可为什么要使用CATALINA_HOME呢?实际上,在Tomcat 4以前,用的就是TOMCAT_HOME来表示Tomcat的安装目录,在Tomcat 4以后,采用了新的Servlet容器Catalina,所以环境变量的名字也改为了CATALINA_HOME。

在Windows系统下环境变量的名字是与大小写无关的,也就是说,JAVA_HOME和java_home是一样的。

其他相关:
用文本编辑工具打开用于启动Tomcat的批处理文件startup.bat,仔细阅读。在这个文件中,首先判断CATALINA_HOME环境变量是否为空,如果为空,就将当前目录设为CATALINA_HOME的值。接着判断当前目录下是否存在bin\catalina.bat,如果文件不存在,将当前目录的父目录设为CATALINA_HOME的值。根据笔者机器上Tomcat安装目录的层次结构,最后CATALINA_HOME的值被设为Tomcat的安装目录。如果环境变量CATALINA_HOME已经存在,则通过这个环境变量调用bin目录下的“catalina.bat start”命令。通过这段分析,我们了解到两个信息,一是Tomcat启动时,需要查找CATALINA_HOME这个环境变量,如果在Tomcat的bin目录下调用startup.bat,Tomcat会自动并正确设置CATALINA_HOME;二是执行startup.bat命令,实际上执行的是“catalina.bat start”命令。

如果我们不是在Tomcat的bin目录作为当前目录时调用startup.bat,就会出现如下图所示的错误信息(在bin目录的父目录下调用除外)。

所以这其实是一个二选一的问题,要么配置环境变量,要么修改start.bat配置。
相关文章:
http://www.cnblogs.com/heshan664754022/archive/2013/03/27/2984357.html

the catalina_home environment variable相关推荐

  1. The file Tomcat.exe was not found... Either the CATALINA_HOME environment variable is not defin

    window下安装tomcat后报错 The file Tomcat.exe was not found- Either the CATALINA_HOME environment variable ...

  2. The file Tomcat8.exe was not found... Either the CATALINA_HOME environment variable is not defined c

    Tomcat service安装错误 命令行输入: service install 报错: The file Tomcat8.exe was not found... Either the CATAL ...

  3. 管用!修复tomcat报错:The tomcat8.exe was not found... The CATALINA_HOME environment variable is not defined

    文章目录 前言 出现啥问题了? 解决方法 首先明确我们的环境变量是否设置正确 如果点击tomcat的bin文件夹下的startup.bat,还闪退 运行成功!   如非迫不得已请按时入睡,我懂你晚睡的 ...

  4. tomcat命令无法启动 the catalina_home environment variable is not defined correctly this environment variab

    配置完tomcat之后通过命令行起到不了 出现这种情况是因为配置环境有问题导致的, 具体配置点此链接查看,https://blog.csdn.net/qq_43412289/article/detai ...

  5. ATALINA_HOME environment variable is not defined correctly问题的解决(Tomcat)

    (1) 运行tomcat时出现: CATALINA_HOME environment variable is not defined correctly问题的解决 1.你可以试试检查原来的变量CATA ...

  6. Tomcat服务器环境配置--查看bat文件(解决Neither the JAVA_HOME nor the JRE_HOME environment variable is defined问题)

    1. Tomcat环境配置 环境变量配置,博主以为无非就是在系统变量[path]中加上Tomcat目录的bin文件夹路径呗,然后上网一搜,果然就是配置Tomcat的bin目录和lib目录,于是在系统变 ...

  7. 解决JAVA_HOME nor the JRE_HOME environment variable is defined

    从别的地方复制了一个tomcat, 启动后一闪即退, 使用记事本打开 startup.bat文件, 在文件底部修改, 并追加如下内容 call "%EXECUTABLE%" run ...

  8. 解决问题:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined

    错因: 没有定义JAVA_HOME 也没有jre 环境变量配置 也就是说,我们没有配置好jdk的环境变量 在双击启动apache-tomcat-8.5.31\bin\startup.bat 时,出现 ...

  9. 解决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 ...

最新文章

  1. python实现洗牌算法_为什么渔民耶茨最有用的洗牌算法?
  2. python怎么用函数查看变量类型_查看变量类型的Python内置函数是()。
  3. GPU、FPGA芯片成为增强机器学习能力的“左膀右臂”
  4. 多线程的多核分配问题验证
  5. Java格式化日期和时间模式占位符
  6. 计算机网络知识简单介绍
  7. python runtimeeeror_Python3基础 raise 产生RuntimeError 异常
  8. python函数示例_带Python示例的float()函数
  9. java stream groupingBy(classifier, downstream, mapFactory)
  10. Oracle字符集的设置
  11. Spring 冬天来了,春天还远吗
  12. 低代码--低代码开发(LCDP)介绍
  13. 气体流量传感器在汽车电子上的应用
  14. 瑞斯康达olt排查故障的常用命令
  15. WLC RTU license
  16. PS缩小图层兼如何使用蒙版
  17. python创建类的两个对象_Python为一个类创建多个对象
  18. 托福高频真词List12 // 附托福TPO阅读真题
  19. 如何在Win11调出IE11浏览器?
  20. Android7.0上拍照与选择照片Crash问题

热门文章

  1. 保姆级My SQL-5.7.19安装教程
  2. python爬火车票是不是违法_python利用selenium+requests+beautifulsoup爬取12306火车票信息...
  3. cuSPARSE库:(三)Thread Safety(线程安全)
  4. MultiMedia eXtensions - MMX:第一套应用于英特尔 80x86 指令集的 SIMD 扩展
  5. 2019.04.13 - 19:34
  6. 中科大计算机学院推免生录取名单,中科大2016年推免生拟录取名单
  7. python的目的_Python-** wargs的目的和用途是什么?
  8. Python:闭包(简介、使用方法、nonlocal修改闭包内使用的外部变量)、装饰器(定义、作用、通用装饰器、多个装饰器、带参数的装饰器、类装饰器、装饰器方式添加WEB框架的路由)
  9. VUE3模板ref引用子组件或者子组件的方法
  10. Spring Boot细节挖掘(Redis的集成)