如何设置Java系统属性,以便在我启动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程序启动的,则不会使用。

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

请参阅:http : //docs.oracle.com/javase/7/docs/webnotes/tsg/TSG-

VM/html/envvars.html

以上是 如何设置Java系统属性,以便在我启动JVM而不将其添加到命令行参数时就有效 的全部内容, 来源链接: utcz.com/qa/401841.html

回到顶部