从操作系统获取默认语言环境的方式在Java 1.7中有所变化。有恢复旧行为的方法,例如通过在启动JVM实例时设置标志-Dsun.locale.formatasdefault = true。

我想永久设置此标志,这样就不必在每次启动JVM实例时都在命令行参数中指定它。是否有文件或任何其他可能性可以更改JVM的默认设置?类似于Eclipse.ini文件,但对于JVM本身呢?

最佳答案

您可以在操作系统中设置环境变量 JAVA_TOOL_OPTIONS 。所有Java工具(java,javac,..)都会选择并使用此变量。所以你可以利用

SET JAVA_TOOL_OPTIONS=-Dsun.locale.formatasdefault=true

我使用它为每个JVM强制使用特定的语言环境。

但这仅在您的应用程序通过Java工具启动时才有效。如果是例如从调用jvm DLL的C程序启动,将不会使用。

编辑:我刚刚测试了它,并且似乎在启动DLL时也拾取了JAVA_TOOLS_OPTIONS(已通过使用WinRun4J作为启动器的Swing应用程序进行了验证)

另请:http://docs.oracle.com/javase/7/docs/webnotes/tsg/TSG-VM/html/envvars.html

09-10 06:25
查看更多