我的开发服务器上的玻璃鱼Web应用程序报告说它的本地语言是en_US。这导致日期以美国格式显示。我希望使用en_GB语言环境来显示日期。
我的开发服务器配置如下:
- Ubuntu Ubuntu 12.04.2 LTS服务器
- Oracle Java 1.7.0_11
- GlassFish Server Open Source Edition 3.1.2.2 (build 5)
- GlassFish使用upstart运行
- JavaServerFaces 1.2 Web应用程序
主机和虚拟机都返回en_GB作为默认的操作系统语言环境。
$ locale
LANG=en_GB.UTF-8
LANGUAGE=en_GB:en
LC_CTYPE="en_GB.UTF-8"
LC_NUMERIC="en_GB.UTF-8"
LC_TIME="en_GB.UTF-8"
LC_COLLATE="en_GB.UTF-8"
LC_MONETARY="en_GB.UTF-8"
LC_MESSAGES="en_GB.UTF-8"
LC_PAPER="en_GB.UTF-8"
LC_NAME="en_GB.UTF-8"
LC_ADDRESS="en_GB.UTF-8"
LC_TELEPHONE="en_GB.UTF-8"
LC_MEASUREMENT="en_GB.UTF-8"
LC_IDENTIFICATION="en_GB.UTF-8"
LC_ALL=en_GB.UTF-8
然而,在我的Web应用程序中,当我将地区设置写入日志文件时,或者当日期被显示时,我可以看到地区设置为en_US。
Locale locale = Locale.getDefault();
log("Login.login_btn_action(): Default locale = " + locale.toString());
报告
Login.login_btn_action(): Default locale = en_US
为了解决这个问题,我尝试过以下方法(但都没有成功):
1)在管理界面中选择域并将区域设置为 en_GB。我可以看到此设置出现在 domain.xml 文件的第一行中。
2)在 domain.xml 中添加额外的 jvm-options 到“default-config”和“server-config”,以设置 user.language 和 user.country。
<jvm-options>-Duser.language=en</jvm-options>
<jvm-options>-Duser.country=GB</jvm-options>
(当然,每次我进行更改时,我都会停止并启动Glassfish)
请问您能否提供其他选项/设置以检查/更改,以使我的Java应用程序在本地服务器语言环境下运行?