简体   繁体   English

获取java.security.AccessControlException:使用JDK8拒绝访问(“ java.lang.RuntimePermission”“ accessClassInPackage.sun.swing”)吗?

[英]Getting java.security.AccessControlException: access denied (“java.lang.RuntimePermission” “accessClassInPackage.sun.swing”) with JDK8?

I am trying to run my applet with JDK8 but i'm getting below exception on java console at this line of my code 我正在尝试使用JDK8运行我的applet,但是在代码的这一行,我在Java控制台上遇到了以下异常

SplitPaneH = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT);

Traces 痕迹

Exception in thread "AWT-EventQueue-2" java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "accessClassInPackage.sun.swing")
at java.security.AccessControlContext.checkPermission(Unknown Source)
at java.security.AccessController.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPermission(Unknown Source)
at java.lang.SecurityManager.checkPackageAccess(Unknown Source)
at sun.plugin2.applet.SecurityManagerHelper.checkPackageAccessHelper(Unknown Source)
at sun.plugin2.applet.AWTAppletSecurityManager.checkPackageAccess(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.jb2011.lnf.beautyeye.ch17_split.BESplitPaneDivider.<init>(BESplitPaneDivider.java:77)
at org.jb2011.lnf.beautyeye.ch17_split.BESplitPaneUI.createDefaultDivider(BESplitPaneUI.java:54)
at javax.swing.plaf.basic.BasicSplitPaneUI.installDefaults(Unknown Source)
at javax.swing.plaf.basic.BasicSplitPaneUI.installUI(Unknown Source)
at javax.swing.JComponent.setUI(Unknown Source)
at javax.swing.JSplitPane.setUI(Unknown Source)
at javax.swing.JSplitPane.updateUI(Unknown Source)
at javax.swing.JSplitPane.<init>(Unknown Source)
at javax.swing.JSplitPane.<init>(Unknown Source)
at javax.swing.JSplitPane.<init>(Unknown Source)
at TeleProvisionManager.InventoryPage.<init>(InventoryPage.java:382)
at TeleProvisionManager.MainFrame.createMainTab(MainFrame.java:2147)
at TeleProvisionManager.MainFrame.<init>(MainFrame.java:1253)
at TeleProvisionManager.LoginChangeGroupDlg.handleContinueButton(LoginChangeGroupDlg.java:791)
at TeleProvisionManager.LoginChangeGroupDlg.jbtnContinueActionPerformed(LoginChangeGroupDlg.java:489)
at TeleProvisionManager.LoginChangeGroupDlg.access$100(LoginChangeGroupDlg.java:56)
at TeleProvisionManager.LoginChangeGroupDlg$4.actionPerformed(LoginChangeGroupDlg.java:355)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicRootPaneUI$Actions.actionPerformed(Unknown Source)
at javax.swing.SwingUtilities.notifyAction(Unknown Source)
at javax.swing.JComponent.processKeyBinding(Unknown Source)
at javax.swing.KeyboardManager.fireBinding(Unknown Source)
at javax.swing.KeyboardManager.fireKeyboardAction(Unknown Source)
at javax.swing.JComponent.processKeyBindingsForAllComponents(Unknown Source)
at javax.swing.SwingUtilities.processKeyBindings(Unknown Source)
at javax.swing.UIManager$2.postProcessKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(Unknown Source)
at java.awt.DefaultKeyboardFocusManager.dispatchEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(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)

But it was worked well with JDK7. 但是,它与JDK7配合得很好。 I am not getting what is the problem and how to solve it. 我没有得到什么问题以及如何解决它。 And i tried downloading 'jsdg-stubs-jre1.5.jar' which contains sun.swing classes and copying that jar to WEB-INF/lib folder but no use. 然后我尝试下载包含sun.swing类的'jsdg-stubs-jre1.5.jar'并将该jar复制到WEB-INF / lib文件夹,但没有用。 How to solve it please help me. 如何解决,请帮帮我。 TIA! TIA!

"accessClassInPackage.sun.swing" which signifies that in Webstart it is not allowed to use the package sun.swing. “ accessClassInPackage.sun.swing”表示在Webstart中不允许使用包sun.swing。 You need to sign your applet, and with latest jdk 8 security, will block any applet signed with an untrusted certificate authority.So if you self sign this applet put low the security settings.untill it executes. 您需要对小程序进行签名,并且具有最新的jdk 8安全性,它将阻止任何使用不受信任的证书颁发机构签名的小程序。因此,如果您自签名此小程序,则会降低安全设置。 As an example here . 作为一个例子在这里

The thing with java 8 is that we have the security level ranging from high to very high ,while on java 7 it ranged from medium and above.The setting was only intended to block malicious or unsigned apps in java 8.However sometimes it may cause trouble with active X controls.If your app is running using low setting ,good otherwise i suggest java7, unless you dont use enhanced features like lambda expressions and other stuff Java 8的问题是我们的安全级别是从高到非常高,而在Java 7上它的安全级别是从中级到更高。此设置仅用于阻止Java 8中的恶意或未签名的应用程序。主动X控件存在问题。如果您的应用使用低设置运行,则很好,否则我建议使用Java7,除非您不使用Lambda表达式等增强功能

Between java7 and java8 there were a bunch of security restrictions added to the way applets are constrained in sandbox mode - especially in communicating over the network. 在java7和java8之间,在沙盒模式下限制小程序的方式上增加了很多安全限制-尤其是在通过网络进行通信时。

Check if anything here applies to your case - it may not be applicable, but these need to be checked anyway. 检查此处是否有任何适用于您的情况的内容-可能不适用,但是无论如何都需要检查这些内容。

暂无
暂无

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

相关问题 java.security.AccessControlException:访问被拒绝(java.lang.RuntimePermission accessClassInPackage.sun.security.pkcs11) - java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.security.pkcs11) java.security.AccessControlException:访问被拒绝(java.lang.RuntimePermission accessClassInPackage.sun.misc) - java.security.AccessControlException: access denied (java.lang.RuntimePermission accessClassInPackage.sun.misc) java.security.AccessControlException:access denied(“java.lang.RuntimePermission”“accessClassInPackage.sun.reflect.annotation”)Spring - java.security.AccessControlException: access denied (“java.lang.RuntimePermission” “accessClassInPackage.sun.reflect.annotation”) Spring appengine spring aop java.security.AccessControlException:access denied(“java.lang.RuntimePermission”“accessClassInPackage.sun.reflect”) - appengine spring aop java.security.AccessControlException: access denied (“java.lang.RuntimePermission” “accessClassInPackage.sun.reflect”) java.security.AccessControlException:访问被拒绝(“ java.lang.RuntimePermission”“ modifyThreadGroup”) - java.security.AccessControlException: access denied (“java.lang.RuntimePermission” “modifyThreadGroup”) Appengine DevMode:访问被拒绝(“java.lang.RuntimePermission”“accessClassInPackage.sun.security.util”) - Appengine DevMode : access denied ("java.lang.RuntimePermission" "accessClassInPackage.sun.security.util") 带有Hibernate java.security.AccessControlException的Google App Engine:访问被拒绝(“ java.lang.RuntimePermission”“ modifyThreadGroup”) - Google App Engine with Hibernate java.security.AccessControlException: access denied (“java.lang.RuntimePermission” “modifyThreadGroup”) java.security.AccessControlException:访问被拒绝(“ java.lang.RuntimePermission”“ loadLibrary.jpcap”) - java.security.AccessControlException: access denied (“java.lang.RuntimePermission” “loadLibrary.jpcap”) java.security.AccessControlException:拒绝访问(java.lang.RuntimePermission modifyThreadGroup) - java.security.AccessControlException: access denied (java.lang.RuntimePermission modifyThreadGroup) java.security.AccessControlException:访问被拒绝(java.lang.RuntimePermission createSecurityManager) - java.security.AccessControlException: access denied (java.lang.RuntimePermission createSecurityManager)
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM