在安装Tomcat期间,多个论坛需要设置CATALINA_HOME变量并指向Tomcat父目录。我正在通过eclipse运行web项目,它在现场运行,也没有设置此环境变量。
我想知道这个变量的确切目的是什么,以及什么时候设置它是强制性的。
另外,我想知道tomcat-juli.jar的确切用法,它位于Tomcat / bin目录中
答案 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: