为什么Java Web Start不更新jnlp设置,即使指定了“update”并且版本已更改?

时间:2013-10-24 13:13:42

标签: java caching jnlp

我做了以下步骤:

  • 清除了java缓存。
  • 推出小程序(通过javaws <url of jnlp file>
  • 在java缓存中观察到新条目。假设这个jnlp文件在6.43中有版本-Xss4mjava-vm-args
  • 然后,我将版本更改为6.44,将java-vm-args更改为-Xss5m,然后再次运行javaws
  • 通过wireshark,我发现确实下载了jnlp文件。但是当应用程序启动时,-Xss设置仍显示4mb。任何数量的重试都无法解决问题 - 只有完全清除缓存才能强制JavaWS接受新版本。

我正在使用JDK 1.7.0_45,在XUbuntu 12.04,64bit上。

这是完整的jnlp文件:

<?xml version="1.0" encoding="UTF-8"?>
<jnlp spec="7.0+" codebase="http://192.168.0.47/parrot/" href="http://192.168.0.47/parrot//jnlp.php" version="6.44">
  <information>
    <title>Parrot</title>
  </information>
  <security>
    <all-permissions/>
  </security>
  <resources>
    <j2se version="1.7+" href="http://java.sun.com/products/autodl/j2se"
          java-vm-args="-Xss5m" />
    <jar href="http://192.168.0.47/parrot//Parrot.jar" main="true" />
    <jar href="http://192.168.0.47/parrot//Splash.jar" download="progress" />
    <property name="jnlp.packEnabled" value="true" />
  </resources>
  <application-desc name="Parrot"
                    main-class="launch.Jnlp"
                    progress-class="parrot.splash.Splash" />
  <update check="always" policy="always" />
</jnlp>

如您所见,update已设为always

虽然我(作为开发人员)清除缓存没有问题,但我的应用程序的用户肯定并不总是那么聪明,因此他们注定要用错误的jvm args启动应用程序。有办法解决这个问题吗?

0 个答案:

没有答案