如何在Java Web Start中包括不受支持的jvm选项?

时间:2019-02-12 18:57:41

标签: java java-web-start jnlp jvm-arguments

我有一个Java Web Start应用程序,该应用程序通过.jnlp文件获取一些参数,进行一些分析,然后将结果上传回服务器。只要我使用

从NetBeans运行它,它就可以正常工作
  

-Dcom.sun.security.enableAIAcaIssuers = true

在“虚拟机选项”区域中单击

但是从这样运行的网页上运行时不起作用:

deployJava.launchWebStartApplication('jws/CreoDimExtractor.jnlp');

它成功运行,直到到达上载部分,然后失败,并显示

  

“ javax.ws.rs.ProcessingException:javax.net.ssl.SSLHandshakeException:   sun.security.validator.ValidatorException:PKIX路径构建失败:   sun.security.provider.certpath.SunCertPathBuilderException:无法执行   找到到所请求目标的有效认证路径”

在我的.jnlp文件中,我包括了这样的JVM选项:

<resources>
        <!-- Application Resources -->
        <j2se version="1.7+" href="http://java.sun.com/products/autodl/j2se" java-vm-args="-Dcom.sun.security.enableAIAcaIssuers=true"/>
        <jar href="En360_SFtp.jar" main="true" />
</resources>

我将安全性设置为:

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

我读过here

  

“还可以根据需要通过添加前缀来定义新的安全属性。   属性名称为“ jnlp”。或“ javaws”。”

所以我也尝试过

<resources>
        <!-- Application Resources -->
        <j2se version="1.7+" href="http://java.sun.com/products/autodl/j2se" java-vm-args="-Djnlp.com.sun.security.enableAIAcaIssuers=true"/>
        <jar href="En360_SFtp.jar" main="true" />
</resources>

他们俩都没有工作。我也读过

  

property元素定义将可用的系统属性   通过System.getProperty和System.setProperties方法。它   有两个必填属性:名称和值。

因此,在我的Java Web Start应用程序中,我包括了以下几行:

ProcessBuilder pb = new ProcessBuilder(params);
Map<String, String> env = pb.environment();
env.put("com.sun.security.enableAIAcaIssuers","true");

但是那也不起作用。我没主意了。有帮助吗?

0 个答案:

没有答案