在Tomcat中,catalina_home是什么,为什么我们要使用它?

11

我对Tomcat还比较陌生,但是对Java有了一定的了解。在设置Tomcat时,我们会设置java_home的jdk路径,但我想知道什么是catalina_home以及为什么我们需要在catalina.sh中进行设置?

3个回答

14

CATALINA_HOME是安装Apache Tomcat的文件夹,例如c:\program files\Apache Tomcat/usr/apache/tomcat。这是您第一次解压Tomcat时使用的文件夹(从zip安装时)。

CATALINA_HOME非常重要,因为Tomcat将使用许多与变量CATALINA_HOME相关的文件。例如,日志文件编写在CATALINA_HOME/logs中。配置从CATALINA_HOME/conf读取。

如果您尝试使用错误的CATALINA_HOME运行Tomcat,则会出现问题。


9
Tomcat实际上由许多组件组成,包括Tomcat JSP引擎和其他连接器,但主要组件是Catalina,它提供了Servlet规范的实现。启动Tomcat服务器时,实际上是启动Catalina。变量“catalina_home”是一个配置属性,用于存储Catalina文件的位置。
这些是Tomcat“$CATALINA_BASE/conf”目录中的配置文件:
  • catalina.policy
  • catalina.properties
  • logging.properties
  • content.xml
  • server.xml
  • tomcat-users.xml
  • web.xml

0

不需要设置CATALINA_HOME

文件依赖于CATALINA_HOME。Catalina home是用于以下操作的基本目录:

  • 设置环境变量(setenv.bat)
  • 设置类路径(setclasspath.bat)

等等。

只需从tomcat目录运行startup.sh|batcatalina.sh|bat即可自动设置变量。

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

CATALINA_BASE == CATALINA_HOME

两个变量都是用作基本目录变量,作用相同。如果未设置CATALINA_BASE,则会将CATALINA_HOME复制到其中。

# Copy CATALINA_BASE from CATALINA_HOME if not already set
[ -z "$CATALINA_BASE" ] && CATALINA_BASE="$CATALINA_HOME"


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接