Macのターミナルでjavacをすると、コンパイルエラーがあった時にエラーの内容が文字化けしているので読めない。
% javac TestSample.java [~/tmp] TestSample.java:3: Sample ?? abstract ?ł??B?C???X?^???X?????邱?Ƃ͂ł??܂???B Sample sample = new Sample();
とりあえず解決策をぐぐってみた
key-cc: MacOS Xでのjavacの文字化けを解消する方法
どうもエラー出力をするときにSJISが使われているらしいので、javacの実行時に"-J-Dfile.encoding=UTF8"オプションを追加してやることで解決するらしい。
% javac -J-Dfile.encoding=UTF8 TestSample.java TestSample.java:2: Sample は abstract です。インスタンスを生成することはできません。 Sample sample = new Sample();
でも毎回オプションを付けるのがめんどくさいので、.zshrcあたりにaliasを仕込んでおく。
- ~/.zshrc
# MacのTerminal用に追加 alias javac='javac -J-Dfile.encoding=UTF8'
設定ファイルの再読み込み
% source ~/.zshrc
これでjavacコマンドだけでコンパイルエラー時の文字が確認できるようになった。
% javac TestSample.java TestSample.java:2: Sample は abstract です。インスタンスを生成することはできません。 Sample sample = new Sample();
Eclipse使えば問題ないんだろうけど一応メモとして残しておいてみた。