【问题标题】:with java 1.7.0_51, java web start application fails to launch after first time使用 java 1.7.0_51,java web start 应用程序在第一次后无法启动
【发布时间】:2014-05-07 18:30:38
【问题描述】:

我们有一些自签名的遗留 javaws 应用程序。因此,在启用部署规则集后,我们尝试使用 java 1.7.0_51 中的 javaws 启动它们。这些应用程序仅在第一次启动。在他们第一次之后,他们无法启动并抛出关于自签名 jar 的错误。但是,应用程序将在清除缓存后启动

从 DRS 文档看来,如果启用了 DRS,自签名 jar 似乎不会被阻止。但这不是上面观察到的行为。对我来说,这看起来像一个错误。请确认并告知我们如何在启用 DRS 的情况下启动旧版应用程序,并且每次启动时都不会清除缓存。

注意:只有在“高”或“非常高”的安全设置下才会出现这种情况。

【问题讨论】:

    标签: java java-web-start


    【解决方案1】:

    尝试更新您的 Java 版本 Java 8.0

    【讨论】:

    • 进入什么? java 1.7.0_51 是最新的 java 7。
    • 我不能强迫我的客户使用 java 8。但无论如何,java 8 也有同样的问题。
    • 因为我用了很多次这些类型的问题不是java 8.0的问题。这是客户端的问题所以这里不提了。
    【解决方案2】:

    我发现了问题并在此处为面临相同问题的任何人提供解决方案。

    问题是我有一个包含 IP 地址匹配规则的 ruleset.xml 文件。在第二次启动期间,jar 是从缓存中挑选出来的,因此与 IP 地址规则不匹配。解决方案是有一个与用于签署应用程序 jar 的证书匹配的规则。

    现在 ruleset.xml 中的规则如下所示

    <ruleset version="1.0+">
          <rule>
                <id>
                      <certificate hash="9208E7206B4BD02D891385A6162E58F5FA67B4B64EBF92A87A9C2DC" />
                </id>
                <action permission="run" />
          </rule>
    </ruleset>
    

    请参阅Deployment Rule Set documentation 了解获取哈希的步骤。

    【讨论】:

      猜你喜欢
      • 2010-12-27
      • 1970-01-01
      • 2012-10-06
      • 1970-01-01
      • 1970-01-01
      • 2013-04-05
      • 1970-01-01
      • 2016-09-11
      • 1970-01-01
      相关资源
      最近更新 更多