实习一年有余,往日下载tomcat后便匆匆忙忙的配置好环境变量,今日对代码的世界有了些许了解,准备解开心中的疑惑。
先给出往日拿到的tomcat配置的两种方式:
a配置系统环境变量,类似于java环境变量 CATALINA_HOME=D****
b在startup启动文件开头添加如下:(推荐这种方式,更换简单,还有就是公司电脑可能加密,修改环境变量较为麻烦)
SET JAVA_HOME=C:\Program Files\java\jdk1.8.0_171
SET TOMCAT_HOME=D:\dev\apache-tomcat-8.5.29
今天遇到的困惑的起因,我需要本地测试一下线上包,直接解压了一个tomcat,然后直接把项目放了进去,启动,未出错,这就是我想到了我自己配置tomcat的一系列操作(既然不用配置环境变量,我以前还傻傻的配它干嘛)
脑袋突然一顿空白,决定理一下思路:(摘自: http://www.cnblogs.com/heshan664754022/archive/2013/03/27/2984357.html)
用文本编辑工具打开用于启动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”命令。