您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

applet中的java.lang.reflect.invocationtargetexception错误

applet中的java.lang.reflect.invocationtargetexception错误

完整的堆栈跟踪为:

Java Plug-in 10.21.2.11
Using JRE version 1.7.0_21-b11 Java HotSpot(TM) Client VM
User home directory = C:\Users\Andrew
----------------------------------------------------
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.21
network: Created version ID: 1.7.0.21
basic: 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 more
Caused 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@1f312f0
security: Reset deny session certificate store
security: blacklist: hasBeenModifiedSince 1366740392097 (we have 1366432497929)
security: blacklist: hasBeenModifiedSince 1369035157319 (we have 1366432497929)
network: CleanupThread used 6369043 us
basic: PluginMain.unregisterApplet: 1 from mananger sun.plugin2.applet.Applet2Manager@1823290
network: Checking for update at: https://javadl-esd-secure.oracle.com/update/baseline.version
network: Checking for update at: https://javadl-esd-secure.oracle.com/update/blacklisted.certs
network: Checking for update at: https://javadl-esd-secure.oracle.com/update/blacklist
security: JSS is not configured
network: Connecting https://javadl-esd-secure.oracle.com/update/baseline.version with proxy=DIRECT
network: Connecting https://javadl-esd-secure.oracle.com/update/blacklisted.certs with proxy=DIRECT
network: Connecting https://javadl-esd-secure.oracle.com/update/blacklist with proxy=DIRECT
network: Connecting http://javadl-esd-secure.oracle.com:443/ with proxy=DIRECT
network: Connecting http://javadl-esd-secure.oracle.com:443/ with proxy=DIRECT
network: Connecting http://javadl-esd-secure.oracle.com:443/ with proxy=DIRECT
security: Loading Root CA certificates from C:\Program Files (x86)\Java\jre7\lib\security\cacerts
security: Loaded Root CA certificates from C:\Program Files (x86)\Java\jre7\lib\security\cacerts
security: Loading SSL Root CA certificates from C:\Program Files (x86)\Java\jre7\lib\security\cacerts
security: Loaded SSL Root CA certificates from C:\Program Files (x86)\Java\jre7\lib\security\cacerts
security: Loading certificates from Deployment session certificate store
security: Loaded certificates from Deployment session certificate store
security: Loading certificates from Deployment session certificate store
security: Loaded certificates from Deployment session certificate store
security: Loading certificates from Deployment session certificate store
security: Loaded certificates from Deployment session certificate store
network: 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。

java 2022/1/1 18:37:08 有385人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶