java - 在 jre 7 update 40 上启动 web start 时带有日志记录的 NPE

标签 java logging java.util.logging

在我将 jre 升级到 7u40 之前,我的应用程序运行良好。当我的应用程序正在初始化时,它正在执行 Logger.getLogger("ClassName"),并且出现以下异常。

java.lang.ExceptionInInitializerError
    at java.util.logging.Logger.demandLogger(Unknown Source)
    at java.util.logging.Logger.getLogger(Unknown Source)
    at com.company.Application.Applet.<clinit>(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at com.sun.javaws.Launcher.executeApplication(Unknown Source)
    at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
    at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
    at com.sun.javaws.Launcher.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)

Caused by: java.lang.NullPointerException
    at java.util.logging.Logger.setParent(Unknown Source)
    at java.util.logging.LogManager$6.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.util.logging.LogManager.doSetParent(Unknown Source)
    at java.util.logging.LogManager.access$1100(Unknown Source)
    at java.util.logging.LogManager$LogNode.walkAndSetParent(Unknown Source)
    at java.util.logging.LogManager$LoggerContext.addLocalLogger(Unknown Source)
    at java.util.logging.LogManager$LoggerContext.addLocalLogger(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)

异常来自这一行:

private static Logger logger = Logger.getLogger(Applet.class.getName());

可能是因为修复 http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8017174 的任何副作用?

解决方法是打开 java 控制中心并启用日志记录。这是一个问题,因为默认情况下未选中“启用日志记录”。如果我选择“启用日志记录”,应用程序将正常启动。

最佳答案

此问题似乎已在 java7 更新 45 中修复。

关于java - 在 jre 7 update 40 上启动 web start 时带有日志记录的 NPE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18977034/

相关文章:

java - 将 hashmap 转换为 stringarray

java - 生成新字符串数组的输出未按预期输出

c# - 使用 Enterprise Library 4.1 从多个进程记录到同一个文件

java - 配置 log4j 以使用 mongodb

java - 如何将 AppEngine 请求日志发送到远程日志服务器?

java - 简化java中的方法设计

java - 同时调用 2 个 Restful Web 服务。可以用骡子吗?

java.util.logging.Logger 与根 Logger 具有不同的级别

python - Django:如何让日志记录工作?

java - 如何为tomcat设置最大卷数和最大日志大小?