Windows环境下多个tomcat启动,CATALINA_HOME配置(大坑)

🍀前言

上篇文章提到Windows环境下多个tomcat启动方法

在服务器配置了多个tomcat,同时配置了CATALINA_HOME,这个就给后面的tomcat启动挖坑了 。

🍀tomcat启动流程

查看bin/startup.bat文件

@echo off
rem Licensed to the Apache Software Foundation (ASF) under one or more
rem contributor license agreements.  See the NOTICE file distributed with
rem this work for additional information regarding copyright ownership.
rem The ASF licenses this file to You under the Apache License, Version 2.0
rem (the "License"); you may not use this file except in compliance with
rem the License.  You may obtain a copy of the License at
rem
rem     http://www.apache.org/licenses/LICENSE-2.0
rem
rem Unless required by applicable law or agreed to in writing, software
rem distributed under the License is distributed on an "AS IS" BASIS,
rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
rem See the License for the specific language governing permissions and
rem limitations under the License.

rem ---------------------------------------------------------------------------
rem Start script for the CATALINA Server
rem ---------------------------------------------------------------------------

setlocal

rem Guess CATALINA_HOME if not defined
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
if exist "%CATALINA_HOME%\bin\catalina.bat" goto 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
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%

:end

这里对CATALINA_HOME环境变量进行了判断,如果环境变量为空,将当前目录设为CATALINA_HOME的值。
接着判断当前目录下是否存在bin\catalina.bat,如果文件不存在,将当前目录的父目录设为CATALINA_HOME的值。

我的服务器因为已经设置了环境变量CURRENT_HOME,所以调用了另一个tomcat的catalina.bat,导致tomcat启动错误。

🍀修改方法

直接修改startup.bat文件,设置CATALINA_HOME默认值。设置成tomcat安装路径即可

set CATALINA_HOME=D:\apache-tomcat-7.2.1

在这里插入图片描述

🍀补充

启动tomcat的文件startup.bat修改后,记得要把关闭tomcat的文件shutdown.bat也修改了,不然关闭tomcat也可能出现奇奇怪怪的问题。

set CATALINA_HOME=D:\apache-tomcat-7.2.1

在这里插入图片描述

参考:https://blog.csdn.net/ljj2312/article/details/70744131

  • 7
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Tomcat环境变量中的"Catalina_home"指的是Tomcat服务器所在的安装目录路径。这个变量的命名来自于Tomcat的核心组件Catalina。Catalina是Tomcat的引擎,负责处理HTTP请求和响应。它是基于Servlet和JavaServer Pages(JSP)技术的Java Web服务器。 Catalina_home环境变量的作用在于告诉操作系统Tomcat服务器的根目录在哪里,这样系统就能够正确地找到Tomcat配置文件、启动脚本和其他相关文件。通过设置Catalina_home,我们可以方便地定位和管理Tomcat的安装路径和相关组件。 为什么选择"Catalina_home"这个名称作为Tomcat环境变量呢?这是因为在Tomcat的架构中,Catalina扮演着核心角色,它是整个服务器的引擎和主要部分。因此,选择"Catalina_home"作为环境变量的名称是为了更好地表达Tomcat服务器整体架构中的重要组件和根目录。 当我们需要在脚本或配置文件中引用Tomcat根目录时,就可以使用Catalina_home环境变量来代替具体的路径。这样,只需要设置一次Catalina_home的值,就可以在多个地方重复使用,提高了代码的可维护性和可移植性。 总而言之,"Catalina_home"作为Tomcat环境变量的名称,是为了方便管理和定位Tomcat服务器的根目录,并且符合Tomcat架构中Catalina引擎的重要性和角色。 ### 回答2: Tomcat环境变量中的"catalina_home"是指Tomcat安装目录的路径。 首先,理解Tomcat的结构对于理解为什么环境变量被称为"catalina_home"是很重要的。Tomcat是一个Java应用程序服务器,它是用Java编写的,用于运行Java Web应用程序。Tomcat的安装目录包含了多个文件和文件夹,其中包括配置文件、日志文件、应用程序文件等。Tomcat的核心部分通常被称为"Catalina",它是Tomcat中负责处理HTTP请求、管理Servlet和JSP的核心组件。因此,Tomcat环境变量被称为"catalina_home"是因为它指的是Tomcat的安装目录,也就是"Catalina"的主目录。 在设置Tomcat环境变量时,将其命名为"catalina_home"可以更好地反映其作用。通过设置这个环境变量,我们可以让系统知道Tomcat的安装路径。这对于任何需要通过Tomcat运行的Java Web应用程序来说都是非常重要的。例如,在配置Tomcat时,我们需要指定Tomcat的安装路径来确定配置文件、日志文件和其他相关文件的位置。通过设置"catalina_home"环境变量,我们可以轻松地在配置和部署应用程序时引用Tomcat的安装路径。这样,我们就可以将应用程序和Tomcat服务器正确地关联起来,确保应用程序可以正常运行。 总之,"catalina_home"是Tomcat环境变量的名称,其作用是指明Tomcat的安装目录,以便在配置和部署Java Web应用程序时能够正确地引用Tomcat的相关文件和路径。 ### 回答3: tomcat环境变量中的catalina_home表示Tomcat服务器的主目录路径,为什么被命名为catalina_home呢? 这个命名是因为在Tomcat的核心目录结构中,有一个名为"Catalina"的文件夹,它包含了Tomcat服务器的所有主要组件和配置文件。"Catalina"文件夹中包含了Tomcat的核心功能,包括处理HTTP请求的Servlet容器、Web应用程序的部署和管理等。 由于"catalina_home"是Tomcat服务器的主目录路径,它被定义为一个环境变量,以便在任何位置都可以方便地引用和使用。通过设置正确的"catalina_home"环境变量,可以方便地找到Tomcat的主要目录位置,从而执行相关的Tomcat管理和部署任务。 在设置"catalina_home"环境变量之后,我们可以在命令行窗口或配置文件中使用这个变量,来指示Tomcat的主要目录路径。比如,在命令行中执行"catalina_home/bin/startup.bat"命令,可以启动Tomcat服务器,而无需明确指定Tomcat的安装目录。 总结来说,"catalina_home"被作为Tomcat环境变量的命名,是为了方便引用Tomcat服务器的主目录路径,这个目录包含了Tomcat的核心组件和配置文件,并且"catalina_home"环境变量的设置可以方便地进行Tomcat的管理和部署操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鳄鱼儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值