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

Java 7u65和7u67 windows webstart缓存路径错误(无法加载指定的文件/URL),java,java-web-start,Java,Java Web Start,用户在尝试通过Windows 7上的WebStart启动应用程序时报告了以下错误: Could not load file/URL specified: C:\Users\Höfn\AppData... Windows区域设置为冰岛语,“非Unicode程序语言”设置为冰岛语。注意Windows用户名应该是“Höfn”,但错误消息中的“Hö”字符看起来已损坏,因此路径似乎不能包含unicode字符 在最新的Java更新之前,应用程序运行良好 我尝试删除Java缓存,但问题仍然存在 我通过卸载

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

Could not load file/URL specified: C:\Users\Höfn\AppData...
Windows区域设置为冰岛语,“非Unicode程序语言”设置为冰岛语。注意Windows用户名应该是“Höfn”,但错误消息中的“Hö”字符看起来已损坏,因此路径似乎不能包含unicode字符

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

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

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


我估计会有更多的人遇到这个问题,需要一个临时解决方案。

这个问题始于Java 7u65,因为它出现在所有更高版本的Java上,包括7u67和8u11。我提交了

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

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

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

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

  • 创建帐户名为ascii文本(无多字节字母)的用户
  • 从该帐户启动JNLP

  • 这个问题始于Java 7u65,因为它出现在所有更高版本的Java上,包括7u67和8u11。我提交了

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

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

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

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

  • 创建帐户名为ascii文本(无多字节字母)的用户
  • 从该帐户启动JNLP

  • 这在Windows XP上吗?您是否注意到Oracle从Java 7u65开始就放弃了对Windows XP的支持?很抱歉,我忘了提到它是Windows 7,经过编辑以包括。。。不,我没有注意到,很有趣。这是在Windows XP上吗?您是否注意到Oracle从Java 7u65开始就放弃了对Windows XP的支持?很抱歉,我忘了提到它是Windows 7,经过编辑以包括。。。不,我没有注意到这一点,很有趣。我有机会在Windows 7机器上测试了这一点,“非unicode程序的语言”是冰岛语,这是正确的。@darri您可以在Windows机器上使用字符集ISO8859-5(西里尔字母表)创建用户帐户。如果您登录到该帐户并使用ISO8859-1(西欧)作为系统语言环境,您将无法运行需要系统语言环境才能正确编码用户主路径(例如)的应用程序。您必须检查帐户名字符是否是用非unicode程序的内部语言编写的。我非常感谢您的输入,我将在接下来的几天内对此进行更好的研究。这在Java中很容易被称为bug,因为这在7u65之前都不是问题。我有机会在Windows 7机器上测试了这一点,而且“非unicode程序的语言”是冰岛语,这是正确的。@darri您可以在Windows机器上用字符集ISO8859-5(西里尔字母表)创建用户帐户。如果您登录到该帐户并使用ISO8859-1(西欧)作为系统语言环境,您将无法运行需要系统语言环境才能正确编码用户主路径(例如)的应用程序。您必须检查帐户名字符是否是用非unicode程序的内部语言编写的。我非常感谢您的输入,我将在接下来的几天内对此进行更好的研究。在Java中,这很容易被称为bug,因为这在7u65之前都不是问题。