Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
设置java语言环境设置_Java_Locale - Fatal编程技术网

设置java语言环境设置

设置java语言环境设置,java,locale,Java,Locale,当我在linux机器上使用默认的java语言环境时,它会显示为US语言环境设置,我在哪里更改它以使其显示为正确的语言环境?您可以在init期间或在命令行调用-Duser.language=、-Duser.country=、和-Duser.variant= 我相信java是从它启动时的环境变量中收集到的,因此您需要确保您的LANG和LC_*环境变量设置正确 区域设置包含所述环境变量的完整信息。控制区域设置的一种方法是设置java系统属性user.language和user.region。使用use

当我在linux机器上使用默认的java语言环境时,它会显示为US语言环境设置,我在哪里更改它以使其显示为正确的语言环境?

您可以在init期间或在命令行调用-Duser.language=、-Duser.country=、和-Duser.variant=

我相信java是从它启动时的环境变量中收集到的,因此您需要确保您的LANG和LC_*环境变量设置正确


区域设置包含所述环境变量的完整信息。

控制区域设置的一种方法是设置java系统属性user.language和user.region。

使用
user.language
user.country
user.variant
属性

例如:


java-Duser.language=th-Duser.country=th-Duser.variant=th SomeClass

如果您在Mac上,只需使用系统首选项->语言并将语言拖动到测试顶端(在英语之前),即可确保下次打开应用程序时尝试正确的语言环境

我必须用一个脚本来控制这一点,该脚本在一台使用法语语言环境的机器上运行,但一个特定的Java程序必须使用en_US运行。正如已经指出的,以下工作:

java -Duser.language=en -Duser.country=US ...
或者

LC_ALL=en_US.UTF-8 java ...

我喜欢后者。

您可以在控制台上更改:

$ export LANG=en_US.utf8

用于Java中实现的
jarsigner
等工具

JAVA_TOOL_OPTIONS=-Duser.language=en jarsigner

在linux上,使用以下内容在
/etc/default/locale
中创建文件

LANG=en.utf8
然后使用
source
命令通过运行

source /etc/default/locale

source命令将永久设置变量。

如果您想检查java使用的语言环境或字符集,则JVM中会内置此命令:

java -XshowSettings -version

并且它将卸载正在使用的设置。通过这种方式,您可以检查您的
LANG
LC\u*
值是否正确拾取。

什么是LC\u*环境变量?如果您的程序格式化了数字,您可能需要设置LC\uAll。请看下面我的答案。请注意这是不完整的。我正在运行macOS Sierra,将LANG和LC_设置为“en_US.UTF8”。然而,出于某种原因,Java提出了
user.language=en
user.country=US
user.country.format=DE
。这将起作用,但设置环境并让JRE为其计算出正确的值更安全,也更能证明未来。在此环境中列出了受支持的语言,只需在~/档案中添加导出JAVA_工具_选项=-Duser.language=en。最后,这是我想要的选项!java和javac似乎不尊重LANG和LC_ALL.Locale.getavailablelocale()方法没有返回en_MY,为什么?它返回155locales@kekan:尝试Locale.getDefault();注意。第一个可能重复,您需要写“utf-8”而不是“utf8”。其次,只有编码部分有效,但语言部分无效。嗯,这给了我一个“默认区域设置”、“默认显示区域设置”和“默认格式区域设置”。。。但到底有什么区别?