Java 8 java.security.AccessControlException:拒绝访问(“java.lang.RuntimePermission”accessClassInPackage.com.sun.javafx.css.parser“)

Java 8 java.security.AccessControlException:拒绝访问(“java.lang.RuntimePermission”accessClassInPackage.com.sun.javafx.css.parser“),java-8,javafx-8,font-awesome,java-web-start,Java 8,Javafx 8,Font Awesome,Java Web Start,我正在使用JavaWebStart部署JavaFX8应用程序。当我试图从dependency jar fontawesomefx-8.9.jar访问任何类时,会出现此错误 如果我在代码中不使用任何fontawesomefx-8.9类,则应用程序工作正常。这种行为的可能原因是什么 java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "accessClassInPackage.com.s

我正在使用JavaWebStart部署JavaFX8应用程序。当我试图从dependency jar fontawesomefx-8.9.jar访问任何类时,会出现此错误 如果我在代码中不使用任何fontawesomefx-8.9类,则应用程序工作正常。这种行为的可能原因是什么

java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "accessClassInPackage.com.sun.javafx.css.parser")

在jnlp文件中添加以下行修复了这个问题

<security>
<all-permissions/>
</security>


您可能需要。我的应用程序jar和依赖项都已签名。但是我会看到错误。我们是否必须将任何密钥库文件复制到Web服务器?不,您不需要将密钥库文件放置在服务器上。通常,在代码签名时,密钥库包含您的私钥,在打包代码时,您只能使用私钥对代码进行一次签名。签名验证的证书通常是有效的。将以下行添加到jnlp使其工作。不确定这是不是一种理想的方式,也许可以。通常JNLP文件是由maven或ant任务生成的,而不是手工编辑的,因此通常不需要手动编辑JNLP来添加该信息。你可能不需要所有的权限,但你确实需要一些额外的权限,所以在所有的现实中,如果你要求所有的权限,而不仅仅是一些额外的权限,大多数用户不会在意。如果你把你是如何解决这个问题的信息作为一个整体发布,可能是最好的。