深入理解IntelliJ的Web部署逻辑

附上三篇有关文章:

加上一段自己的扩展:

    上面几篇文章把idea启动tomcat流程说的比较明白了,但是作为一个爱捯饬的娃,怎么可能不试试也这样启动呢?

    前面的文章说了%CATALINA_BASE%是tomcat的工作目录,其默认值为%CATALINA_HOME%,即tomcat的安装目录。%CATALINA_BASE%初始化过程为(catalina.bat):

if not "%CATALINA_BASE%" == "" goto gotBase
set "CATALINA_BASE=%CATALINA_HOME%"
:gotBase

%CATALINA_HOME%,其初始化过程为:

set "CURRENT_DIR=%cd%"
if not "%CATALINA_HOME%" == "" goto gotHome
set "CATALINA_HOME=%CURRENT_DIR%"
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome
cd ..
set "CATALINA_HOME=%cd%"
cd "%CURRENT_DIR%"
:gotHome

    通过上面的初始化代码可以看出%CATALINA_HOME%%CATALINA_BASE%要么从当前工作目录获取要么从环境变量获取,若不配置%CATALINA_HOME%%CATALINA_BASE%环境变量那么其值就是tomcat安装目录。

    由于idea的tomcat项目目录(${user_home}\.IntelliJIdea2019.3\system\tomcat)下仅包含一些配置文件,不含bin等启动文件。因此可以想象其应该是通过设置临时环境变量(只在当前环境有效)实现的,沿着这个思路我们也来手动模拟一下idea启动tomcat的过程:

#命令行操作
#当前路径为tomcat安装路径或bin目录下
>set catalina_base=<输入idea的tomcat项目目录><\项目名称>   #如 set catalina_base="C:\Users\yourcomputer\.IntelliJIdea2019.3\system\tomcat\Unnamed_web_test"   (加引号能够避免路径含空格带来的问题)
>catalina.bat run

#打印结果
.....
.....
Using CATALINA_BASE:   "C:\Users\yourcomputer\.IntelliJIdea2019.3\system\tomcat\Unnamed_web_test"
Using CATALINA_HOME:   "C:\tomcat\apache-tomcat-7.0.94"
.....
.....

    ojbk 😃

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值