tomcat startup.bat解读

本文解析了Tomcat启动脚本startup.bat的工作原理,详细介绍了如何通过环境变量CATALINA_HOME定位并执行catalina.bat,确保Tomcat服务器正确启动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

@echo off                                           //DOS在运行批处理时,会依次执行批处理中的每条命令,并且会在显示器上显示,如果你不想让它们显示,可以加一个“echo off”。当然,“echo off”也是命令,它本身也会显示,如果连这条也不显示,就在前面加个“@”。

if "%OS%" == "Windows_NT" setlocal    //判断当前系统是否是window系统
rem ---------------------------------------------------------------------------  //rem 是注释(下同)
rem Start script for the CATALINA Server
rem
rem $Id: startup.bat 302918 2004-05-27 18:25:11Z yoavs $
rem ---------------------------------------------------------------------------

rem Guess CATALINA_HOME if not defined
set CURRENT_DIR=%cd%          //设置当前目录
if not "%CATALINA_HOME%" == "" goto gotHome //如果设置了CATALINA_HOME环境变量 ,就直接到下面的gotHome处
set CATALINA_HOME=%CURRENT_DIR% //如果没有设置CATALINA_HOME,就设置CATALINA_HOME为当前目录(其实这里她假设你进入tomcat的安装目录)
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome//判断一下catalina.bat是否找到了,找到了就直接到下面的gotHome处
cd .. //这里他是假设你开始已经进入到了tomcat的bin目录,所以就退到上一级目录
set CATALINA_HOME=%cd%//现在再设置CATALINA_HOME为tomcat的安装目录
cd %CURRENT_DIR% //这里是进入dos的当前目录
:gotHome
if exist "%CATALINA_HOME%\bin\catalina.bat" goto okHome  //再次判断catalina.bat是否找到了,找到了就直接到下面的okHome处,没有的话,就只能提示你啦!
echo The CATALINA_HOME environment variable is not defined correctly
echo This environment variable is needed to run this program
goto end
:okHome

set EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat  //设置要执行的文件

rem Check that target executable exists
if exist "%EXECUTABLE%" goto okExec //再次判断catalina.bat是否找到了,找到了就直接到下面的okExec处,没有的话,就提示。
echo Cannot find %EXECUTABLE%
echo This file is needed to run this program
goto end
:okExec

rem Get remaining unshifted command line arguments and save them in the
set CMD_LINE_ARGS= //这里是设置参数
:setArgs
if ""%1""=="""" goto doneSetArgs //判断参数是否加入完成
set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1 //将参数组成一行,接在后面
shift
goto setArgs
:doneSetArgs

call "%EXECUTABLE%" start %CMD_LINE_ARGS% //执行catalina.bat,最好将这行改为:echo "%EXECUTABLE%" start %CMD_LINE_ARGS%       以便阅读、理解本文件的作用

:end

 

//这个批处理文件,主要是正确的找到catalina.bat,并且执行。

  • 当把tomcat解压到一个地方时,通常是设置一个CATALINA_HOME的环境变量,执行这个文件时,就很容易找到 catalina.bat
  • 如果没有设置CATALINA_HOME的环境变量,那么你需要在dos中进入tomcat的安装目录,或者bin...子目录,再执行这个文件,如果在其他目录,将会出现提示找不到文件。 【针对startup.bat文件】
  • 双击该文件时,%cd%的值为当前目录的值,所有执行是没有问题的。
D:\java\apache-tomcat-8.5\apache-tomcat-8.5.69\bin\catalina.bat run [2025-03-31 09:05:31,490] 工件 ssm:war exploded: 正在等待服务器连接以启动工件部署… Using CATALINA_BASE: "C:\Users\李顺义\AppData\Local\JetBrains\IntelliJIdea2022.3\tomcat\d6b34896-45db-412d-a705-e870012b8e26" Using CATALINA_HOME: "D:\java\apache-tomcat-8.5\apache-tomcat-8.5.69" Using CATALINA_TMPDIR: "D:\java\apache-tomcat-8.5\apache-tomcat-8.5.69\temp" Using JRE_HOME: "D:\apache-tomcat-8.5.69" Using CLASSPATH: "D:\java\apache-tomcat-8.5\apache-tomcat-8.5.69\bin\bootstrap.jar;D:\java\apache-tomcat-8.5\apache-tomcat-8.5.69\bin\tomcat-juli.jar" Using CATALINA_OPTS: "" NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED 31-Mar-2025 09:05:33.963 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Server.服务器版本: Apache Tomcat/8.5.69 31-Mar-2025 09:05:33.969 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 服务器构建: Jun 30 2021 18:00:00 UTC 31-Mar-2025 09:05:33.970 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 服务器版本号: 8.5.69.0 31-Mar-2025 09:05:33.970 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 操作系统名称: Windows 11 31-Mar-2025 09:05:33.972 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log OS.版本: 10.0 31-Mar-2025 09:05:33.973 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 架构: amd64 31-Mar-2025 09:05:33.974 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Java 环境变量: D:\apache-tomcat-8.5.69 31-Mar-2025 09:05:33.974 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Java虚拟机版本: 17.0.11+7-LTS-207 31-Mar-2025 09:05:33.975 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log JVM.供应商: Oracle Corporation 31-Mar-2025 09:05:
04-01
D:\apache-tomcat-9.0.65\bin\catalina.bat run [2025-03-14 11:56:49,283] Artifact WebPath:war exploded: Waiting for server connection to start artifact deployment... Using CATALINA_BASE: "C:\Users\86132\AppData\Local\JetBrains\IntelliJIdea2023.1\tomcat\a93fe6e8-a618-4213-b8fa-7dee7b0f8d89" Using CATALINA_HOME: "D:\apache-tomcat-9.0.65" Using CATALINA_TMPDIR: "D:\apache-tomcat-9.0.65\temp" Using JRE_HOME: "D:\JDK" Using CLASSPATH: "D:\apache-tomcat-9.0.65\bin\bootstrap.jar;D:\apache-tomcat-9.0.65\bin\tomcat-juli.jar" Using CATALINA_OPTS: "" 14-Mar-2025 11:56:50.165 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Server.服务器版本: Apache Tomcat/9.0.65 14-Mar-2025 11:56:50.166 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 服务器构建: Jul 14 2022 12:28:53 UTC 14-Mar-2025 11:56:50.166 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 服务器版本号: 9.0.65.0 14-Mar-2025 11:56:50.166 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 操作系统名称: Windows 11 14-Mar-2025 11:56:50.166 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log OS.版本: 10.0 14-Mar-2025 11:56:50.166 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log 架构: x86 14-Mar-2025 11:56:50.166 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Java 环境变量: D:\JDK\jre 14-Mar-2025 11:56:50.166 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log Java虚拟机版本: 1.8.0_411-b09 14-Mar-2025 11:56:50.166 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log JVM.供应商: Oracle Corporation 14-Mar-2025 11:56:50.167 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: C:\Users\86132\AppData\Local\JetBrains\IntelliJIdea2023.1\tomcat\a93fe6e8-a618-4213-b8fa-7dee7b0f8d89 14-Mar-2025 11:56:50.167 信息 [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: D:\apache-tomcat-9.0.65 14-Mar-2025 11:56:50.167 信息 [main] org.apa
03-15
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值