How do I set the default locale in the JVM?

MozenRath picture MozenRath · Jan 10, 2012 · Viewed 241.4k times · Source

I want to set the default Locale for my JVM to fr_CA. What are the possible options to do this?

I know of only one option Locale.setDefault()

Answer

aleroot picture aleroot · Jan 10, 2012

From the Oracle Reference:

The default locale of your application is determined in three ways. First, unless you have explicitly changed the default, the Locale.getDefault() method returns the locale that was initially determined by the Java Virtual Machine (JVM) when it first loaded. That is, the JVM determines the default locale from the host environment. The host environment's locale is determined by the host operating system and the user preferences established on that system.

Second, on some Java runtime implementations, the application user can override the host's default locale by providing this information on the command line by setting the user.language, user.country, and user.variant system properties.

Third, your application can call the Locale.setDefault(Locale) method. The setDefault(Locale aLocale) method lets your application set a systemwide (actually VM-wide) resource. After you set the default locale with this method, subsequent calls to Locale.getDefault() will return the newly set locale.