繁体   English   中英

Java 7 Update 45-安全访问控制异常

[英]Java 7 update 45 - security access control exception

我刚刚将计算机(Windows 8,Windows 7和OS X Mountain Lion)升级到Java 7 update 45,但是Java applet不再起作用。 我在控制台中收到以下异常:

java.lang.reflect.InvocationTargetException
at java.awt.EventQueue.invokeAndWait(Unknown Source)
at java.awt.EventQueue.invokeAndWait(Unknown Source)
at org.lwjgl.util.applet.AppletLoader.run(AppletLoader.java:906)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ExceptionInInitializerError
at org.lwjgl.Sys.createImplementation(Sys.java:124)
at org.lwjgl.Sys.<clinit>(Sys.java:111)
at org.lwjgl.opengl.Display.<clinit>(Display.java:135)
at     com.jme.system.lwjgl.LWJGLDisplaySystem.setVSyncEnabled(LWJGLDisplaySystem.java:109)
at cohort.Utilities.CohortApplet.init(CohortApplet.java:105)
at avc.TackFoot3D.AVC_Applet.init(AVC_Applet.java:167)
at org.lwjgl.util.applet.AppletLoader.switchApplet(AppletLoader.java:1330)
at org.lwjgl.util.applet.AppletLoader$2.run(AppletLoader.java:909)
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.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)
Caused by: java.security.AccessControlException: access denied     ("java.util.PropertyPermission" "org.lwjgl.util.Debug" "read")
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.checkPropertyAccess(Unknown Source)
at java.lang.System.getProperty(Unknown Source)
at java.lang.Boolean.getBoolean(Unknown Source)
at org.lwjgl.LWJGLUtil$4.run(LWJGLUtil.java:454)
at org.lwjgl.LWJGLUtil$4.run(LWJGLUtil.java:452)
at java.security.AccessController.doPrivileged(Native Method)
at org.lwjgl.LWJGLUtil.getPrivilegedBoolean(LWJGLUtil.java:452)
at org.lwjgl.LWJGLUtil.<clinit>(LWJGLUtil.java:265)
... 22 more

我不知道为什么这停止了工作。 显然,有一些安全更新已将其破坏,但我看不到它是什么。 所有罐子都使用相同的Thawte证书签名。 清单文件都包含“ Trusted-Library:true”和“ Permissions:all-permissions”属性。 我也尝试了codebase属性,但是什么也没做。 我已经阅读了更新45发行说明,但是看不到任何会导致这种行为的内容,但是显然我缺少了一些东西。 有人可以帮忙吗?

此问题的原因是Java 7 Update 45与LWJGL安全要求之间存在兼容性问题...甚至LWJGL网站( http://lwjgl.org/applet/ )和Nvidia网站中的applet都无法正常工作...

急于解决此问题的用户的临时解决方案是实际修改LWJGL库和applet加载器以允许运行applet而不考虑安全措施...这是一项繁琐的任务,从安全的角度来看并不可靠

永久性解决方法是等到LWJGL发布更新,因为最新更新为“ LWJGL 2.9.0”,2013年4月21日(星期日)在更新45之前,即使在下一次Java更新中进行了此修复,此问题也可能再次出现于2014年2月14日发布,因为这是一个重大更新,可能包含更多安全措施...

您可能想尝试u25-使用invoke和事件队列破坏了很多东西。 换句话说,我认为这可能与该错误有关,而不是更新45。

通过Java Webstart运行时invokeLater中的NullPointerException

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM