2013-09-24 6 views
8

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.

+0

Eröffnet http://bugs.sun.com/view_bug.do?bug_id=9007085 –

+0

Verwandte festgelegt werden: [java-util-Logger-Logger-getanonymouslogger- throws-nullpointerexception] (http://stackoverflow.com/questions/17241970/java-util-logger-logger-getanonymylogger-throws-nullpointerexception) – jmehrens

Antwort

1

Dieses Problem scheint in Java7 Update 45.

0

Versuchen Sie, java.util.logging.* mit Ihrer App in einem JAR zu packen, und stellen Sie sicher, dass es sich um den Klassenpfad handelt. So ist es immer verfügbar. Wie sehen Ihre logging.properties aus?