我的jnlp应用程序有问题 . 所有jar都使用可信证书签名,在主jar中有Codebase *和Permissions属性 . 在jnlp文件中有大约130个签名的jar,并且JNLP中的权限设置为 . 我有窗口:应用程序因安全性而被阻止:

Caused by: java.security.AccessControlException: access denied ("java.io.FilePermission" "C:\Users\artur\AppData\LocalLow\Sun\Java\Deployment\cache\6.0\46\254523ee-26b31f3f" "read"):

com.sun.deploy.security.BlockedException: Your security settings have blocked an application from running due to missing a "Permissions" manifest attribute in the main jar.
    at com.sun.deploy.security.BlockedDialog.show(Unknown Source)
    at com.sun.deploy.security.TrustDecider.validateChain(Unknown Source)
    at com.sun.deploy.security.TrustDecider.isAllPermissionGrantedInt(Unknown Source)
    at com.sun.deploy.security.TrustDecider.isAllPermissionGranted(Unknown Source)
    at com.sun.deploy.security.DeployURLClassLoader.getResourcePermission(Unknown Source)
    at com.sun.deploy.security.DeployURLClassLoader.getResourceAsStream(Unknown Source)
    at javax.xml.bind.ContextFinder.find(Unknown Source)
    at javax.xml.bind.JAXBContext.newInstance(Unknown Source)
    at javax.xml.bind.JAXBContext.newInstance(Unknown Source)
    at javax.xml.bind.JAXBContext.newInstance(Unknown Source)
    at com.sun.xml.internal.ws.assembler.MetroConfigLoader$3.run(Unknown Source)
    at com.sun.xml.internal.ws.assembler.MetroConfigLoader$3.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at com.sun.xml.internal.ws.assembler.MetroConfigLoader.createJAXBContext(Unknown Source)
    at com.sun.xml.internal.ws.assembler.MetroConfigLoader.loadMetroConfig(Unknown Source)
    at com.sun.xml.internal.ws.assembler.MetroConfigLoader.init(Unknown Source)
    at com.sun.xml.internal.ws.assembler.MetroConfigLoader.<init>(Unknown Source)
    at com.sun.xml.internal.ws.assembler.TubelineAssemblyController.getTubeCreators(Unknown Source)
    at com.sun.xml.internal.ws.assembler.MetroTubelineAssembler.createClient(Unknown Source)
    at com.sun.xml.internal.ws.client.Stub.createPipeline(Unknown Source)
    at com.sun.xml.internal.ws.client.Stub.<init>(Unknown Source)
    at com.sun.xml.internal.ws.client.Stub.<init>(Unknown Source)
    at com.sun.xml.internal.ws.client.Stub.<init>(Unknown Source)
    at com.sun.xml.internal.ws.client.sei.SEIStub.<init>(Unknown Source)
    at com.sun.xml.internal.ws.client.WSServiceDelegate.getStubHandler(Unknown Source)
    at com.sun.xml.internal.ws.client.WSServiceDelegate.createEndpointIFBaseProxy(Unknown Source)
    at com.sun.xml.internal.ws.client.WSServiceDelegate.getPort(Unknown Source)
    at com.sun.xml.internal.ws.client.WSServiceDelegate.getPort(Unknown Source)
    at com.sun.xml.internal.ws.client.WSServiceDelegate.getPort(Unknown Source)
    at javax.xml.ws.Service.getPort(Unknown Source)



Caused by: java.security.AccessControlException: access denied ("java.io.FilePermission" "C:\Users\artur\AppData\LocalLow\Sun\Java\Deployment\cache\6.0\46\254523ee-26b31f3f" "read")
    at java.security.AccessControlContext.checkPermission(Unknown Source)
    at java.security.AccessController.checkPermission(Unknown Source)
    at java.lang.SecurityManager.checkPermission(Unknown Source)
    at com.sun.javaws.security.JavaWebStartSecurity.checkPermission(Unknown Source)
    at java.lang.SecurityManager.checkRead(Unknown Source)
    at java.util.zip.ZipFile.<init>(Unknown Source)
    at java.util.zip.ZipFile.<init>(Unknown Source)
    at java.util.jar.JarFile.<init>(Unknown Source)
    at java.util.jar.JarFile.<init>(Unknown Source)
    at com.sun.deploy.util.JarUtil.createJarFile(Unknown Source)
    at com.sun.deploy.security.TrustDecider.checkMainJarManifest(Unknown Source)

这是主要的jar清单:

Build-Jdk:1.8.0_161权限:所有权限Main-Class:path.to.Launcher Codebase:*

这是jnlp:

<jnlp spec="6.0+" codebase="">
<information>
    <title>MyApplication</title>
    <vendor>App</vendor>
</information>
<resources>
    <j2se version="1.8+" initial-heap-size="128m" max-heap-size="1024m"/>
    <jar href="lib/myagent-SNAPSHOT-STANDARD.jar" main="true"/>
    <jar href="lib/myagent-gui-1.7.2-SNAPSHOT.jar"/>
    <!-- list of signed jars -->
</resources>
    <!-- list of some other resources -->
<security>
    <all-permissions/>
</security>
<update check="background" policy="always"/>
</jnlp>

获取端口的代码:

@WebEndpoint(name = "XKMSPort")
public XKMSPortType getXKMSPort() {
    return super.getPort(new QName("http://www.w3.org/2002/03/xkms#wsdl", "XKMSPort"), XKMSPortType.class);

应用程序正在运行jre 8.是否有可能强制应用程序在没有阻塞窗口的情况下运行?