CATALINA_HOME路径设置

时间:2012-09-19 08:29:47

标签: java tomcat web catalina

在安装Tomcat期间,多个论坛需要设置CATALINA_HOME变量并指向Tomcat父目录。我正在通过eclipse运行web项目,它在现场运行,也没有设置此环境变量。

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

另外,我想知道tomcat-juli.jar的确切用法,它位于Tomcat / bin目录中

2 个答案:

答案 0 :(得分:0)

Q>这个变量解决的确切目的是什么 A> Bootstrap班的Javadoc说:

  

该应用程序构造一个用于加载的类加载器   Catalina内部类(通过累积找到的所有JAR文件   在“catalina.home”下的“server”目录下,然后启动   定期执行容器。这个回旋处的目的   方法是保持Catalina内部课程(以及任何其他课程)   他们依赖的类,例如XML解析器)   路径,因此对应用程序级别不可见。

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

Eclipse可能会在您不知情的情况下设置这些属性。打印全部system properties以查看其中的内容。

Q>什么时候设置成为强制性的 A>从我记忆中来看

Q>确切使用tomcat-juli.jar
A>直接从Tomcat documentation

  

Apache Tomcat有自己的几个关键元素的实现   java.util.logging API。这种实现称为“JULI”。钥匙   组件有一个自定义的LogManager实现,即知道   在Tomcat上运行的不同Web应用程序(以及它们的不同   班级装载机)。它支持私有的每应用程序日志记录   配置。当Web应用程序时,Tomcat也会通知它   从内存中卸载,以便对其类的引用   清除,防止内存泄漏。

答案 1 :(得分:0)

一旦安装了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 

即使在Eclipse中运行,也不需要自己设置CATALINA_HOME。 您唯一需要设置 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的“extras”组件。
  2. 将log4j.jar和tomcat-juli-adapters.jar从“extras”放入$ CATALINA_HOME / lib。 将$ CATALINA_HOME / bin / tomcat-juli.jar替换为来自“extras”的tomcat-juli.jar。