Java CATALINA_主页路径已设置

Java CATALINA_主页路径已设置,java,tomcat,web,catalina,Java,Tomcat,Web,Catalina,在安装Tomcat期间,多个论坛都认为需要设置CATALINA_HOME变量,并应指向Tomcat父目录。我通过eclipse运行web项目,它在存在和不存在此环境变量设置的情况下运行 我想知道这个变量解决的确切目的是什么,什么时候设置它成为强制性的 我还想知道tomcat/bin目录中tomcat-juli.jar的确切用法Q>这个变量解决的确切目的是什么 A> Bootstrap类的 此应用程序构造一个类加载器,用于加载 Catalina内部类(通过累积找到的所有JAR文件) 在“catal

在安装Tomcat期间,多个论坛都认为需要设置CATALINA_HOME变量,并应指向Tomcat父目录。我通过eclipse运行web项目,它在存在和不存在此环境变量设置的情况下运行

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


我还想知道tomcat/bin目录中tomcat-juli.jar的确切用法

Q>这个变量解决的确切目的是什么
A>
Bootstrap
类的

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

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

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

Q> 何时强制设置它
A> 就我记忆所及

Q> tomcat juli.jar的确切用法
A> 直接来自:

ApacheTomcat有自己的几个关键元素的实现 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 
即使在Eclipse中运行,您也不需要将CATALINA_设置为HOME。 如果要覆盖默认值,则只需设置CATALINA_HOME和/或CATALINA_BASE。最常见的情况是,如果您使用相同的Tomcat二进制文件来运行多个Tomcat实例,您会这样做

tomcat juli.jar

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

如何使用tomcat juli.jar

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

  • 下载或构建tomcat-juli.jar和tomcat-juli-adapters.jar,它们作为tomcat的“附加”组件提供
  • 将“extras”中的log4j.jar和tomcat-juli-adapters.jar放入$CATALINA_HOME/lib中。 将$CATALINA_HOME/bin/tomcat-juli.jar替换为“extras”中的tomcat-juli.jar