【问题标题】:NPE with logging while launching webstart on jre7 update 40在 jre 7 更新 40 上启动 Web 时带有日志记录的 NPE
【发布时间】:2013-09-24 08:56:17
【问题描述】:

在我将 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 控制中心并启用日志记录。这是一个问题,因为默认情况下未选中“启用日志记录”。如果我选择“启用日志记录”,应用程序启动正常。

【问题讨论】:

标签: java logging java.util.logging


【解决方案1】:

这个问题似乎在 java7 update 45 中修复了。

【讨论】:

    【解决方案2】:

    尝试将 java.util.logging.* 与您的应用一起打包到 JAR 中,并确保它位于类路径中。这样它总是可用的。另外,您的 logging.properties 是什么样的?

    【讨论】:

      猜你喜欢
      • 2013-12-23
      • 1970-01-01
      • 2015-04-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多