完整的堆栈跟踪为:
Java Plug-in 10.21.2.11Using JRE version 1.7.0_21-b11 Java HotSpot(TM) Client VMUser home directory = C:UsersAndrew----------------------------------------------------c: clear console window...0-5: set trace level to <n>----------------------------------------------------Trace level set to 5: all ... completed.security: blacklist: hasBeenModifiedSince 1370282598700 (we have 1366432497929)security: blacklist: hasBeenModifiedSince 1366432497958 (we have 1366432497929)network: Created version ID: 1.7.0.21network: Created version ID: 1.7.0.21basic: exception: java.lang.reflect.InvocationTargetException.java.lang.RuntimeException: java.lang.reflect.InvocationTargetException at com.sun.deploy.uitoolkit.impl.awt.AWTAppletAdapter.runonEDTAndWait(Unknown Source) at com.sun.deploy.uitoolkit.impl.awt.AWTAppletAdapter.instantiateApplet(Unknown Source) at sun.plugin2.applet.Plugin2Manager.initAppletAdapter(Unknown Source) at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source) at java.lang.Thread.run(Unknown Source)Caused by: java.lang.reflect.InvocationTargetException at com.sun.deploy.uitoolkit.impl.awt.OldPluginAWTUtil.invokeAndWait(Unknown Source) ... 5 moreCaused by: java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "exitVM.0") at java.security.AccessControlContext.checkPermission(Unknown Source) at java.security.AccessController.checkPermission(Unknown Source) at java.lang.SecurityManager.checkPermission(Unknown Source) at sun.plugin2.applet.AWTAppletSecurityManager.checkPermission(Unknown Source) at java.lang.SecurityManager.checkExit(Unknown Source) at javax.swing.Jframe.setDefaultCloseOperation(Unknown Source) at main.MainGame.run(MainGame.java:36) at main.MainGame.<init>(MainGame.java:31) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) at java.lang.reflect.Constructor.newInstance(Unknown Source) at java.lang.Class.newInstance0(Unknown Source) at java.lang.Class.newInstance(Unknown Source) at com.sun.deploy.uitoolkit.impl.awt.AWTAppletAdapter$1.run(Unknown Source) at java.awt.event.InvocationEvent.dispatch(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$200(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.awt.EventQueue$4.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumponeEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source)basic: Removed progress listener: sun.plugin.util.ProgressMonitorAdapter@1f312f0security: Reset deny session certificate storesecurity: blacklist: hasBeenModifiedSince 1366740392097 (we have 1366432497929)security: blacklist: hasBeenModifiedSince 1369035157319 (we have 1366432497929)network: CleanupThread used 6369043 usbasic: PluginMain.unregisterApplet: 1 from mananger sun.plugin2.applet.Applet2Manager@1823290network: Checking for update at: https://javadl-esd-secure.oracle.com/update/baseline.versionnetwork: Checking for update at: https://javadl-esd-secure.oracle.com/update/blacklisted.certsnetwork: Checking for update at: https://javadl-esd-secure.oracle.com/update/blacklistsecurity: JSS is not configurednetwork: Connecting https://javadl-esd-secure.oracle.com/update/baseline.version with proxy=DIRECTnetwork: Connecting https://javadl-esd-secure.oracle.com/update/blacklisted.certs with proxy=DIRECTnetwork: Connecting https://javadl-esd-secure.oracle.com/update/blacklist with proxy=DIRECTnetwork: Connecting http://javadl-esd-secure.oracle.com:443/ with proxy=DIRECTnetwork: Connecting http://javadl-esd-secure.oracle.com:443/ with proxy=DIRECTnetwork: Connecting http://javadl-esd-secure.oracle.com:443/ with proxy=DIRECTsecurity: Loading Root CA certificates from C:Program Files (x86)Javajre7libsecuritycacertssecurity: Loaded Root CA certificates from C:Program Files (x86)Javajre7libsecuritycacertssecurity: Loading SSL Root CA certificates from C:Program Files (x86)Javajre7libsecuritycacertssecurity: Loaded SSL Root CA certificates from C:Program Files (x86)Javajre7libsecuritycacertssecurity: Loading certificates from Deployment session certificate storesecurity: Loaded certificates from Deployment session certificate storesecurity: Loading certificates from Deployment session certificate storesecurity: Loaded certificates from Deployment session certificate storesecurity: Loading certificates from Deployment session certificate storesecurity: Loaded certificates from Deployment session certificate storenetwork: cookie service is not available - use cache to determine "cookie"network: cookie service is not available - use cache to determine "cookie"network: cookie service is not available - use cache to determine "cookie"重要的部分是:
Caused by: java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "exitVM.0")原因是:
frame.setDefaultCloseOperation(Jframe.EXIT_ON_CLOSE);
甚至没有一个受信任的applet也不能(或者至少应该尝试)退出JVM。



