Javaツールの出力言語を変更する

Java開発環境、つまりJDKには様々なツールがあるのだが、この標準出力をプログラムによって取得して何かしらの自動処理を行いたい場合に困るのが、Localeによって勝手にメッセージが変わってしまう点だ。

日本語Windowsであれば、当然日本語で出力されてしまうのだが、面倒なので英語のままでいてくれてほしい。例えば以下である。

これはどうすれば良いのか?

Forcing the use of english in JDK7 toolsに答えがあった。

環境変数で指定する方法

JAVA_TOOL_OPTIONSという環境変数に「-Duser.language=en」としてしまえば英語のままになる。環境変数に指定すれば、すべてのJavaツールで有効になるので、これが最も簡単だ。ちなみに日本語にするには「ja」にする(「jp」ではない)。

以下のようになる。

都度パラメータを設定する

これとは別に都度パラメータで指定する方法もある。この場合は、前に「-J」をつける。先のjdepsの場合であれば、「jdeps -J-Duser.language=en sample.class」とする