我需要更改java在Windows 2008 Server计算机上使用的默认语言环境。 Java是作为Oracle + Application服务器设置的一部分安装的。我可以在代码中执行此操作,但我需要永久更改此设置。
编辑:我应该注意到我们正在讨论通过应用服务器提供的jsp页面,因此我无法将命令行参数完全传递给java。 机器的区域和语言选项已经设置为我需要的(希腊语)。 Java的默认语言环境仍然是en_US而不是el_GR。
编辑和解决方案:我正在将现有应用移植到新服务器。该应用程序将默认语言环境视为理所当然,这在新服务器上运行得不是很好(它可以在我的机器上工作)。我希望不必触及代码本身,但最终决定在所有页面已包含的文件中明确设置默认语言环境。不是最优雅的解决方案,但是,它确实有效。
答案 0 :(得分:6)
在命令上指定区域设置会启动JVM工作吗?
java -Duser.language = 2-char-language-code -Duser.region = 2-char-country-code
http://www.oracle.com/technetwork/articles/javase/locale-140624.html
答案 1 :(得分:6)
事实上,我找到了两个答案 - http://java.com/en/download/help/locale.xml提出的错误答案和有效的黑客答案。
我会解释 - 我在法国使用法语安装的多语言XP和法语键盘 - 但我希望我的应用程序能用英语跟我说话。 Sun平原的页面无法使用这种组合--Java仍然用法语与我交谈。
HACK解决方案是进入注册表并将HKEY_CURRENT_USER \ Control Panel \ International \ Locale从0000040C更改为00000409.这使得Java会说英语。
回到区域设置控制面板工具,我注意到这实际上改变了“区域选项”下拉菜单中的名称,同时保留了所有法语格式的数字日期等。
所以Sun的页面是完全错误的!! Java不会从高级页面上的设置中获取其默认的LOCALE,而是从“区域选项”页面上的设置中获取 - 而且它们很难在不搞砸所有这些选项的情况下进行更改(即,您无法轻易改变语言和保留数字/日期/等格式。)
任何人都知道如何将这些信息提供给Sun ???
答案 2 :(得分:3)
对我来说,将HKEY_CURRENT_USER\Control Panel\International\LocaleName
更改为en-US
就可以了。正如Martin Bartlett建议的那样改变语言环境并没有帮助。
答案 3 :(得分:0)
我不确定如何使用Oracle的java。
设置java属性user.language
,user.country
和user.variant
是否有效?。
答案 4 :(得分:0)