2009-07-10 121 views
4

我需要更改java在Windows 2008 Server计算机上使用的默认语言环境。 Java作为Oracle + Application服务器设置的一部分进行安装。我可以在代码中执行此操作,但我需要永久更改此设置。如何在Windows上永久更改java的默认语言环境

编辑:我应该注意,我们正在讨论通过应用程序服务器提供的jsp页面,所以我无法准确地将命令行参数传递给java。 此外,机器的区域和语言选项已经设置为我所需要的(希腊语)。 Java的默认语言环境仍然是en_US而不是el_GR。

编辑和解决方案:我正在将现有应用程序移植到新服务器。该应用程序将默认语言环境视为理所当然,这在新服务器上效果不佳(它在所有的荣耀中都可以在我的机器上运行)。我希望不必触摸代码本身,但最终决定在所有页面已包含的文件中显式设置缺省语言环境代码。不是最优雅的解决方案,但是,它会起作用。

+0

Windows控制面板>区域和语言选项 – akarnokd 2009-07-10 13:25:48

回答

0

我不知道如何与Oracle的Java做。 设置java属性user.languageuser.countryuser.variant是否工作?

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?

3

对我来说,更改HKEY_CURRENT_USER\Control Panel\International\LocaleNameen-US做了诀窍。按照Martin Bartlett的建议改变语言环境并没有帮助。

0
  1. user.language和user。国家工作,你可以试试下面的例子:
 

    java -Duser.language=sv -Duser.country=SE 
    java -Duser.language=en -Duser.country=US 

  • 如果你想JVM默认情况下选中它,你应该设置环境变量JAVA_TOOL_OPTIONS它在Windows (除了设置环境变量在Windows上有点不同)
  •  
    
        export JAVA_TOOL_OPTIONS="-Duser.language=en -Duser.country=US" 
    
    

    请参阅本question for details of JAVA_TOOL_OPTIONS