Meine Anwendung lief gut, bis ich meine JRE auf 7u40 aktualisiert. Wenn meine Anwendung initialisiert wird, wird Logger.getLogger ("ClassName") ausgeführt, und ich erhalte die folgende Ausnahme.NPE mit Protokollierung beim Starten von Webstart auf JRE7 Update 40
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)
Die Ausnahme von dieser Linie kommt:
private static Logger logger = Logger.getLogger(Applet.class.getName());
Könnte es mit fix http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8017174 wegen irgendwelcher Nebenwirkungen sein?
Eine Problemumgehung besteht darin, das Java-Kontrollzentrum zu öffnen und die Protokollierung zu aktivieren. Dies ist ein Problem, da "Logging aktivieren" standardmäßig deaktiviert ist. Wenn ich "Protokollierung aktivieren" wähle, startet die Anwendung einwandfrei.
Eröffnet http://bugs.sun.com/view_bug.do?bug_id=9007085 –
Verwandte festgelegt werden: [java-util-Logger-Logger-getanonymouslogger- throws-nullpointerexception] (http://stackoverflow.com/questions/17241970/java-util-logger-logger-getanonymylogger-throws-nullpointerexception) – jmehrens