繁体   English   中英

CATALINA_HOME 路径设置

[英]CATALINA_HOME path set up

在安装Tomcat的过程中,很多论坛都说需要设置CATALINA_HOME变量,并且要指向Tomcat的父目录。 我正在通过 eclipse 运行 web 项目,它在存在和没有设置此环境变量的情况下运行。

我想知道这个变量解决的确切目的是什么,什么时候设置它成为强制性的。

另外我想知道驻留在 Tomcat/bin 目录中的 tomcat-juli.jar 的确切用法

Q> 这个变量解决的具体目的是什么
Bootstrap类的 A> Javadoc说:

该应用程序构建了一个类加载器,用于加载 Catalina 内部类(通过累积在“catalina.home”下的“server”目录中找到的所有 JAR 文件),并启动容器的常规执行。 这种迂回方法的目的是将 Catalina 内部类(以及它们所依赖的任何其他类,例如 XML 解析器)保留在系统类路径之外,因此对应用程序级类不可见。

但还有更多。 CATALINA_HOME和(可互换的) CATALINA_BASE定义了一个“基目录”,用于引用work目录(用于保存已编译的jsps),也有助于查找上下文配置文件等。

可能是 Eclipse 在您不知情的情况下设置了这些属性。 打印所有系统属性以查看其中的内容。

Q> 什么时候强制设置
A> 据我所知

Q> tomcat-juli.jar的具体使用
A> 直接来自Tomcat 文档

Apache Tomcat 有自己的 java.util.logging API 几个关键元素的实现。 这个实现被称为“JULI”。 关键组件是自定义 LogManager 实现,它了解在 Tomcat 上运行的不同 Web 应用程序(及其不同的类加载器)。 它支持私有的每个应用程序日志配置。 当 Web 应用程序从内存中卸载时,Tomcat 也会通知它,以便可以清除对其类的引用,防止内存泄漏。

安装 Tomcat 后,请检查默认情况下已设置以下变量的 java 选项下的 tomcat 属性。

-Dcatalina.home=C:\Program Files (x86)\Apache Software Foundation\Tomcat 6.0 

-Dcatalina.base=C:\Program Files (x86)\Apache Software Foundation\Tomcat 6.0 

-Djava.endorsed.dirs=C:\Program Files (x86)\Apache Software Foundation\Tomcat 6.0\endorsed 

-Djava.io.tmpdir=C:\Program Files (x86)\Apache Software Foundation\Tomcat 6.0\temp 

-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager 

-Djava.util.logging.config.file=C:\Program Files (x86)\Apache SoftwareFoundation\Tomcat 
6.0\conf\logging.properties 

您不需要自己设置 CATALINA_HOME ,即使在 Eclipse 中运行时也是如此。 您必须设置CATALINA_HOME和/或CATALINA_BASE的唯一时间是您想覆盖默认值。 最常见的是,如果您使用相同的 Tomcat 二进制文件来运行 Tomcat 的多个实例,您会这样做。

tomcat-juli.jar

这个 tomcat-juli.jar 是用于日志记录的第三方组件。 它包含完整的 Apache Commons Logging 实现,因此能够发现 log4j 的存在并进行自我配置。

如何使用 tomcat-juli.jar

如果要将 Tomcat 配置为全局使用 log4j:

  1. 下载或构建 tomcat-juli.jar 和 tomcat-juli-adapters.jar,它们可作为 Tomcat 的“附加”组件使用。
  2. 将 log4j.jar 和 tomcat-juli-adapters.jar 从“extras”放入 $CATALINA_HOME/lib。 将 $CATALINA_HOME/bin/tomcat-juli.jar 替换为 "extras" 中的 tomcat-juli.jar。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM