cygwinでエラーメッセージが文字化け

cygwinでantを動かすと発生した日本語エラーメッセージの文字化けへの対応方法をまとめた.

結論

antコマンド本体(${ANTHOME}/bin/ant)の以下の箇所(373行目)にオプション-Dfile.encoding="UTF-8"を追記する.

修正前

ant_exec_command="exec \"\$JAVACMD\" $ANT_OPTS -classpath \"\$LOCALCLASSPATH\" -Dant.home=\"\$ANT_HOME\" -Dant.library.dir=\"\$ANT_LIB\" $ant_sys_opts org.apache.tools.ant.launch.Launcher $ANT_ARGS -cp \"\$CLASSPATH\""

修正後

ant_exec_command="exec \"\$JAVACMD\" -Dfile.encoding="UTF-8" $ANT_OPTS -classpath \"\$LOCALCLASSPATH\" -Dant.home=\"\$ANT_HOME\" -Dant.library.dir=\"\$ANT_LIB\" $ant_sys_opts org.apache.tools.ant.launch.Launcher $ANT_ARGS -cp \"\$CLASSPATH\""

環境

  • Windows 10 Pro
  • cygwin 2.9.0
  • ant 1.10.1

cygwinフォントはMSゴシック,LANGは以下の通り.

$ env|grep LANG
LANG=ja_JP.UTF-8