Java 7u65和7u67 windows webstart缓存路径错误(无法加载指定的文件/ URL)

时间:2014-07-17 11:30:41

标签: java java-web-start

用户在Windows 7上尝试通过WebStart启动应用程序时报告以下错误:

Could not load file/URL specified: C:\Users\Höfn\AppData...

Windows语言环境是冰岛,“非Unicode程序语言”设置是冰岛语。请注意,Windows用户名应为“Höfn”,但“ö”字符在错误消息中看起来已损坏,因此路径似乎不能包含unicode字符。

在最新的Java更新之前,应用程序运行良好。

我尝试删除Java缓存,但问题仍然存在。

我通过卸载最新的Java更新并安装JRE 7更新60来解决问题(暂时)。

我认为会有更多人遇到这个问题而需要临时解决方案。

1 个答案:

答案 0 :(得分:4)

此问题始于Java 7u65,因为它存在于所有后续Java版本中,包括7u67和8u11。我提交了bug report

在我们等待Oracle修复此问题时,我们可以做以下三件事:

解决方法之一:(仅适用于Java< 7u65)

  1. 转到控制面板 - >区域和语言选项 - >行政(高级) - >非Unicode程序的语言
  2. 将“非Unicode程序的当前语言”设置为使用Unicode字母的任何语言。
  3. 解决方法二:(适用于所有用户 - 更改用户的Java临时路径)

    1. 创建新目录,例如C:\ TempJava \ _NAS_USERNAME(路径名中没有Unicode字母)
    2. 由于在Java控制面板中禁用了Windows7中更改Java临时路径,因此workaround
      • 打开文件%SYSTEMDRIVE%\ Users \%USERNAME%\ AppData \ LocalLow \ Sun \ Java \ Deployment \ deployment.properties
      • 添加行:deployment.user.cachedir = C:\ TempJava \ _ASCII_USERNAME
      • 保存并尝试再次运行JNLP
    3. 解决方法三:(适用于所有人)

      1. 使用ascii文本创建用户名(不带多字节字母)
      2. 从该帐户启动JNLP