【问题标题】:Java Web Start - How to clear cache (or update the app from user's perspective)Java Web Start - 如何清除缓存(或从用户的角度更新应用程序)
【发布时间】:2012-02-08 08:41:27
【问题描述】:

在浏览器中下载 JNLP 后,它会被缓存,因此不需要再次下载,这很好。但是,因此,如果我更新 JNLP 使用的 JAR,用户仍会看到缓存中的旧版本应用程序。

你可以通过在终端运行这个来清除缓存:

javaws -uninstall

但显然你不能指望用户在你的更新准备好时运行它。它应该比这更无缝。

一个想法是更改 jnlp 文件名,以便他们下载新文件,例如 MyJWS-01.jnlp,以包含版本号。

还有其他方法吗?

【问题讨论】:

    标签: java jnlp cache-control java-web-start


    【解决方案1】:

    您还可以使用 jnlp 属性 name="jnlp.versionEnabled"value="true" 输入 jar 的特定版本号,这样当您发布新版本时就会交付一个新版本。

    【讨论】:

      【解决方案2】:

      update element 用于指示Java Web Start 应如何处理应用程序更新的首选项。”默认属性值似乎是“在超时之前检查更新”和“在没有任何提示的情况下总是下载更新”。例如,

      <update check="timeout" policy="always"/>
      

      你得到不同的结果了吗?

      【讨论】:

      • 更新检查="背景"。我的 jnlp 中有这个,它没有更新,它使用的是旧的。
      • 我没有设置策略,只是检查了="background"。我应该为这两个属性设置始终/始终吗?
      • 默认为&lt;update check="timeout" policy="always"&gt;。你可以从那开始。一旦你知道什么是有效的,然后进行实验。
      • 我将其标记为已回答,尽管我自己还没有尝试过。我想它必须工作,一旦我尝试,我会发布更新。
      • 我试过了,效果很好。我正在使用 check="always" policy="always"
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-02
      相关资源
      最近更新 更多