Java 1.7 中从操作系统获取默认语言环境的方式发生了变化。有一些方法可以恢复旧行为,例如在启动 JVM 实例时设置标志 -Dsun.locale.formatasdefault=true。
我想永久设置这个标志,这样每次启动 JVM 实例时就不必在命令行参数中指定它。是否有文件或任何其他可能性可以更改 JVM 的默认设置?类似于 Eclipse.ini 文件但针对 JVM 本身的东西?
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 程序启动的,则不会使用它。
编辑:我刚刚对其进行了测试,似乎 JAVA_TOOLS_OPTIONS 在启动 DLL 时也被拾取(通过使用 WinRun4J 作为启动器的 Swing 应用程序进行验证)
请参阅:http ://docs.oracle.com/javase/7/docs/webnotes/tsg/TSG-VM/html/envvars.html