java 7 update 45 webstart应用程序未接收属性

时间:2013-10-17 15:38:07

标签: java-web-start jnlp

我有一个使用webstart的应用程序,其中属性被传递为。但是自从我将jre升级到更新45后,它就不再起作用了。更新40的工作正常。我没有看到修订历史中的任何内容可能会破坏这一点。

当我在http://docs.oracle.com/javase/7/docs/technotes/guides/javaws/developersguide/syntax.html上搜索时,我可以看到我可能必须用“javaws”启动属性名称。或“jnlp。”。我有很多属性(~50)。这是我能让它发挥作用的唯一方式吗? (如果是,有点奇怪,修订历史不要提这个)。这是在javaws中处理属性的方式吗?

2 个答案:

答案 0 :(得分:2)

根据建议here,您必须使用jnlpjavaws为属性添加前缀,或者您需要签署jnlp(放置名为APPLICATION.JNLP的jnlp的精确副本)在签署jar之前,在包含主类的jar的JNLP-INF目录中

答案 1 :(得分:0)

在将我们的应用程序从Java 1.6升级到1.8时遇到了相同的问题 解决方法是:

  1. 将jnlp作为前缀添加到在jnlp模板中传递的属性名称中

    属性名称=“ dev.env” value =“ DEV”更改为属性名称=“ jnlp.dev.env” value =“ DEV”

  2. 在jnlp模板中传递的Main类的main方法中获取系统属性。
  3. 如果代码中的原始属性参数是dev.env,则只需获取Jnlp属性并将其设置为较旧的属性

String devProps = System.getProperty(“ jnlp.dev.env”); System.setProperty(“ dev.env”,devProps);