java - Eclipse-Tomcat 设置中的错误 - ClassNotFoundException "1catalina.org.apache.juli.FileHandler"

标签 java eclipse tomcat logging classnotfoundexception

设置 Eclipse Juno R,Tomcat 7.0.8,tomcat通过eclipse插件运行。 来自 Eclipse 的 Tomcat 启动配置具有 VM 参数 -Djava.util.logging.config.file="C:\WS\Serverlogs\tomcat7\conf\logging.properties" (引用:Where can I view Tomcat log files in Eclipse?) 出现以下错误。

Can't load log handler "1catalina.org.apache.juli.FileHandler"
java.lang.ClassNotFoundException: 1catalina.org.apache.juli.FileHandler
java.lang.ClassNotFoundException: 1catalina.org.apache.juli.FileHandler
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.util.logging.LogManager$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.util.logging.LogManager.loadLoggerHandlers(Unknown Source)
    at java.util.logging.LogManager.addLogger(Unknown Source)
    at java.util.logging.LogManager$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.util.logging.LogManager.<clinit>(Unknown Source)
    at java.util.logging.Logger.getLogger(Unknown Source)
    at org.apache.juli.logging.DirectJDKLog.<init>(DirectJDKLog.java:71)
    at org.apache.juli.logging.DirectJDKLog.getInstance(DirectJDKLog.java:196)
    at org.apache.juli.logging.LogFactory.getInstance(LogFactory.java:170)
    at org.apache.juli.logging.LogFactory.getInstance(LogFactory.java:242)
    at org.apache.juli.logging.LogFactory.getLog(LogFactory.java:293)
    at org.apache.catalina.startup.Bootstrap.<clinit>(Bootstrap.java:57)
Can't load log handler "1catalina.org.apache.juli.FileHandler"

“1catalina.org.apache.juli.FileHandler”、“2localhost.org.apache.juli.FileHandler”等也有类似的错误。 我知道这些类来自/bin 的 tomcat-juli.jar。 我将这个 jar 添加到服务器类路径中(Eclipse -> 服务器 -> 打开 -> 打开 Lauch 配置 -> 类路径 -> 用户条目),但得到了同样的错误。 logging.properties 的内容是:

handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler, 3manager.org.apache.juli.FileHandler, 4host-manager.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler

.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler

1catalina.org.apache.juli.FileHandler.level = FINE
1catalina.org.apache.juli.FileHandler.directory = C:\WS\Serverlogs\tomcat7/logs
1catalina.org.apache.juli.FileHandler.prefix = catalina.

2localhost.org.apache.juli.FileHandler.level = FINE
2localhost.org.apache.juli.FileHandler.directory = C:\WS\Serverlogs\tomcat7/logs
2localhost.org.apache.juli.FileHandler.prefix = localhost.

3manager.org.apache.juli.FileHandler.level = FINE
3manager.org.apache.juli.FileHandler.directory = C:\WS\Serverlogs\tomcat7/logs
3manager.org.apache.juli.FileHandler.prefix = manager.

4host-manager.org.apache.juli.FileHandler.level = FINE
4host-manager.org.apache.juli.FileHandler.directory = C:\WS\Serverlogs\tomcat7/logs
4host-manager.org.apache.juli.FileHandler.prefix = host-manager.

java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.FileHandler

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = 3manager.org.apache.juli.FileHandler

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers = 4host-manager.org.apache.juli.FileHandler

非常感谢任何输入/指导。 找到这些 How to configure Tomcat JULI logging to roll log files? Local Tomcat Environment Not Starting ,但我的问题似乎有所不同。

编辑1 将“-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager”添加到服务器的 VM 参数并将 logging.properties 中的“\”更改为“/”就可以了。 感谢 Robin 提供指向 Tomcat 日志记录常见问题解答的指针

谢谢, 主持人

最佳答案

确保设置了以下系统属性,

-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager

如图所示 here在 tomcat 用户邮件列表上。

我在使用 YAJSW 启动 tomcat 时遇到了同样的问题而不是使用 tomcat 启动脚本。

关于java - Eclipse-Tomcat 设置中的错误 - ClassNotFoundException "1catalina.org.apache.juli.FileHandler",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53389970/

相关文章:

java - 为什么 Eclipse 不显示 "Run"或 "Run configuration"?

android - 如何让 Eclipse 在再次运行之前删除我的应用程序的用户数据

eclipse - 从另一台计算机访问在 Eclipse 中运行的 Tomcat 8?

Tomcat-6.0.18,扩展目录结构,context.xml中的datasource

Java Spring Security 无法识别的角色

java - NavigableMap - 根据值进行比较

java - 如何使用 Volley 在 Android 中发送多部分请求

java - 类型为Printwriter的方法println(boolean)不适用于参数(void)

java - 使用 SourceViewer 的 Eclipse 4 RCP 编辑器撤消和重做操作不起作用

JSP session.invalidate() 与 request.logout()