Featured image of post 【コンパイルエラー】javacのエラーログを日本語ではなく英語にしたい【-J-Duser.language】

【コンパイルエラー】javacのエラーログを日本語ではなく英語にしたい【-J-Duser.language】

708文字

コマンドラインでのJavaの実行ログを英語にしたい

簡単なプログラミングはコマンドでビルド・実行した方が早い

開発や技術調査をしている際に、簡単なJavaの動作確認をしたいなーと思う場合が多々あると思います。

その場合、gradlesbtなどを使ってプロジェクトを作って実行するより、エディターで記述してjavaコマンドからビルド・実行した方が早いですよね。/p>

フレームワーク等の準備がいらないためサクッと動かせるのがメリットです♪

コンパイルログを英語(または他の言語)にしたい

その際に、以下のようにコンパイル時のエラーログが日本語で出てしまう事が有ります。

コンパイルエラー(日本語)
App.java:11: エラー: final変数arraysListに値を代入することはできません
        arraysList = Collections.emptyList();
        ^
エラー1個

もちろん、日本語であるとエラーの内容が一目瞭然なので助かりますが、複雑なエラーの場合ネットで調べようにも日本語でのエラーが引っかからずに調査に手間取ってしまう場合があります。

そんな時はコンパイル時のエラーログを強制的に英語に変換するコマンドオプションを使いしょう!

手順

-J-Duser.languageを指定

[adsense-responsive]

javacコマンドでコンパイルする際に-J-Duser.language=enのように、変換したい言語コードを渡す事でエラーメッセージの言語を意図的に変える事が可能になります。

コンパイルエラー
App.java:11: error: cannot assign a value to final variable arraysList
        arraysList = Collections.emptyList();
        ^
1 error

期待通り、英語になりましたね。

これで複雑なコンパイルエラーが発生してもグーグル先生に簡単に頼る事が可能になりました♪笑

終わりに

以上のように、地味に助かるコマンドラインオプションなので、お困りの方は是非試してみてください♪