【问题标题】:javaws : Java 7 update 45. Cannot send properties [duplicate]javaws:Java 7更新45。无法发送属性[重复]
【发布时间】:2013-10-24 16:31:38
【问题描述】:

使用新的 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 级别解决问题。

我们还有其他解决方法或想法吗?

【问题讨论】:

    标签: java java-web-start


    【解决方案1】:

    根据这个 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。(或接受您需要更改您的代码库。)

    【讨论】:

    • 选项1当然值得一试。团队不想更改代码,这可能是我们最后的手段。我们会在尝试选项 1 后回复您。
    • 必须对代码进行必要的更改,谢谢您的帮助
    猜你喜欢
    • 2013-10-26
    • 1970-01-01
    • 2019-07-06
    • 2017-12-06
    • 2017-01-26
    • 2013-04-09
    • 1970-01-01
    • 1970-01-01
    • 2016-04-20
    相关资源
    最近更新 更多