0

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

当我在http://docs.oracle.com/javase/7/docs/technotes/guides/javaws/developersguide/syntax.html上搜索时,我可以看到我可能必须以“javaws”开头的属性名称。或“jnlp”。我有大量的属性(〜50)。这是我可以使它工作的唯一方法吗?(如果是的话,修订历史没有提到这一点有点奇怪)。这是在 javaws 中处理属性的方式吗?

4

2 回答 2

2

正如这里所建议的,您必须在属性前面加上jnlpor javaws,或者您需要对 jnlp 进行签名(在签名之前,将名为 APPLICATION.JNLP 的 jnlp 的精确副本放在包含主类的 jar 的 JNLP-INF 目录中罐子)

于 2013-10-18T14:39:25.010 回答
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 属性并将其设置为旧的

字符串 devProps= System.getProperty("jnlp.dev.env"); System.setProperty("dev.env",devProps);

于 2020-01-10T11:26:56.583 回答