4

在带有 JRE 7 更新 21(两种情况下均为 32 位)的 Windows 7 和 8 下,我遇到了Cannot find cached resource for URL yyyyyyyyyyy.jar在更新 21 之前在 JRE 中工作的 JWS 应用程序的错误。如果我尝试通过将 yyyyyyyyyy.jar 放入浏览器来下载它,它工作正常。它是我的 JNLP 文件中的“主”jar 文件。

4

4 回答 4

3

实际问题可能在于您的 Web 服务器发送 HTTP 标头“Cache-Control”,其值为“no-store”以避免缓存。但是,通过指定“no-store”,这意味着 JWS 无法存储您的 JNLP 文件中指定的资源。

为了避免这个问题而不必禁用“在我的计算机上保留临时文件”,因为这允许应用程序在脱机模式下工作,我更新了我的 Apache Web 服务器配置以发送以下内容以禁用中间代理缓存内容:

Header set Cache-Control "no-cache, must-revalidate, max-age=0"
Header set Pragma "no-cache"
于 2014-06-06T16:11:34.313 回答
2

我的解决方案是在 Java 控制面板 -> 常规 -> 临时文件设置中:

  • 单击“删除文件...”并选择所有选项。
  • 禁用“在我的计算机上保留临时文件”。

有一段视频显示了这些步骤:https ://www.youtube.com/watch?v=uI9RbmT9PKs

于 2013-06-11T21:10:41.640 回答
0

“单击“删除文件...”并选择所有选项。” 只是,而不是再次调用 Web Start 资源(一个 .jnlp/JNLP 文件),否则您将不得不一次又一次地下载所有文件。

于 2013-06-12T18:20:20.870 回答
0

从 Java 7 升级到 Java 8 以解决此问题。

于 2017-05-23T15:11:53.377 回答