Moja aplikacja działała poprawnie, dopóki nie zaktualizowałem mojego jre do 7u40. Kiedy moja aplikacja się uruchamia, robi Logger.getLogger ("ClassName") i otrzymuję następujący wyjątek.NPE z rejestrowaniem podczas uruchamiania webstartu po aktualizacji jre7 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)
Wyjątkiem jest pochodzących z tej linii:
private static Logger logger = Logger.getLogger(Applet.class.getName());
Może to być z powodu jakichkolwiek skutków ubocznych FIX http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8017174?
Obejście problemu polega na otwarciu centrum sterowania Java i włączeniu rejestrowania. Jest to problem, ponieważ domyślnie "Enable Logging" jest odznaczone. Jeśli wybiorę "Włącz rejestrowanie", aplikacja uruchomi się poprawnie.
Otwarty http://bugs.sun.com/view_bug.do?bug_id=9007085 –
pokrewne: [java-util-logger-logger-getanonymouslogger- throws-nullpointerexception] (http://stackoverflow.com/questions/17241970/java-util-logger-logger-getanlogger-throws-nullpointerexception) – jmehrens