42

OS からデフォルトのロケールを取得する方法が Java 1.7 で変更されました。JVM インスタンスの開始時にフラグ -Dsun.locale.formatasdefault=true を設定するなど、古い動作を復元する方法があります。

このフラグを永続的に設定して、JVM インスタンスを起動するたびにコマンド ライン引数で指定する必要がないようにしたいと考えています。JVM のデフォルト設定を変更するファイルまたはその他の可能性はありますか? Eclipse.ini ファイルのようなものですが、JVM 自体のためですか?

4

1 に答える 1

58

JAVA_TOOL_OPTIONSOSで環境変数を設定できます。すべての 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

于 2012-09-25T07:02:36.677 に答える