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

标签 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 实用程序日志记录实现

我的问题是,尽管定义了一个 juli.. 为什么有两个?我们是否只是将其保持为 2,然后让系统自然运行?

最佳答案

它是“Java Util Logging Implement”,以 JRE 中的 java.util.logging 包命名。

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

您看到的重复输入是有原因的,但首先我需要解释一些背景。

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

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

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

关于java - Tomcat 中 tomcat-juli.jar 的多个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19987849/

相关文章:

java - 如何将数学工作拆分为工作线程 Java

java - 向 JAXB 生成的类添加行为

java - 数据库数据没有填入 JTable

java - Tomcat Server 6 无法在 Eclipse 上启动

tomcat - 如何每天滚动 tomcat 8.0 日志,特别是本地主机日志文件

java - XML 中的 UI 布局和元素

即使证书路径有效,Java 和神秘的 SSL 证书问题

ubuntu - 无法连接到在 Ubuntu Server 11.10 上运行的 Tomcat6

tomcat - 为什么 Log4j2 JsonLayout + KeyValuePair 打印空的 logEvent 消息