1

使用新的 Java 7 更新 45,我们无法设置属性。我们以前是这样设置的

<resources>
    ...
    <jar href="xxx.jar"/>
    <property name="xxx.xxx.xxx.xxx.userName" value="Batman"/>
    <property name="xxx.xxx.xxx.xxx.locale" value="en_US"/> 
    ...
</resources>

我们尝试了解决方法,尝试了以下方法

<resources>
    ...
    <jar href="xxx.jar"/>
    <property name="jnlp.xxx.xxx.xxx.xxx.userName" value="Batman"/>
    <property name="jnlp.xxx.xxx.xxx.xxx.locale" value="en_US"/> 
    ...
</resources>

甚至尝试过“javaws”。添加为前缀。

问题是我们希望避免更改代码库并希望在 jnlp 级别解决问题。

我们还有其他工作或想法吗?

4

1 回答 1

3

根据这个 OpenJDK 错误报告 ( https://bugs.openjdk.java.net/browse/JDK-8023821 ),有三种可能的解决方法:

  1. 签署 jnlp 文件。使用签名的 jnlp 文件 (JNLP-INF/APPLICATION.JNLP) 或签名的 jnlp 模板 (JNLP-INF/APPLICATION_TEMPLATE.JNLP)。

  2. 使用安全属性。将 jnlp 文件中的所有属性更改为预先添加“jnlp”。到属性名称,并修改所有代码以使用新的属性名称。

  3. 使用安全属性并将它们在您签名的应用程序的主体中转换为不安全的属性。更改 jnlp 文件以使 jnlp 文件中的属性名称以“jnlp.myapp.”为前缀,然后在您的应用程序中读取系统属性和以“jnlp.myapp”开头的每个属性。设置不带“jnlp.myapp”的相应属性。在名称前。

听起来 2 和 3 不是你想要的。所以这给你留下了选项 1。(或者接受你需要改变你的代码库。)

于 2013-10-24T16:49:49.973 回答