Tomcat中的tomcat-juli.jar的多个实例

时间:2013-11-14 20:36:43

标签: java tomcat6 tomcat-juli

环境:Windows 2003 32位(我知道,我知道我们正在转向64位,但很快)

  • Apache Tomcat
  • 6.0.35
  • JAVA_HOME
  • CATALINA_HOME

已配置

转到Tomcat6w.exe的Java选项卡,我们看到:

C:\tomcat\bin\tomcat-juli.jar;
C:\tomcat\bin\tomcat-juli.jar;
C:\tomcat\bin\bootstrap.jar

为什么有多个实例:tomcat-juli.jar?

了解Juli是:Java Utility Logging Implementation

我的问题是,即使有一个juli定义..为什么有两个?我们只是把它保持在两个,让系统运行它的过程吗?

1 个答案:

答案 0 :(得分:3)

以JRE中的java.util.logging包命名的“Java Util 日志记录实现”。

JULI是一个基本上重新打包的Apache Commons Logging,删除了所有框架检测代码,并使用特定的日志框架进行硬编码。默认情况下它使用j.u.l但是在附加下载中也有一个使用log4j的版本。

你看到双重录入是有原因的,但首先我需要解释一些背景。

Tomcat支持“高级”配置,其中二进制文件与实例分离,因此您可以使用同一组二进制文件($ CATALINA_HOME)创建多个Tomcat实例($ CATALINA_BASE)。这使得升级变得非常简单。在此高级配置中,不同的实例可能需要使用不同的JULI版本。例如。有些人使用标准的j.u.l包,其他人可能希望使用log4j包。为了支持这一点,每个实例JULI JAR可以放在$ CATALINA_BASE / bin中,它覆盖$ CATALINA_HOME / bin中的那些。因此,类路径搜索顺序为$ CATALINA_BASE / bin:$ CATALINA_HOME / bin:etc。

在标准安装$ CATALINA_BASE == $ CATALINA_HOME中,看起来JULI JAR已添加两次。

离开第二个条目是安全的,但如果您愿意,也可以安全地将其删除。