Cover Image for Java + AspectJ + Gradle でログが文字化けするのを解決した

Java + AspectJ + Gradle でログが文字化けするのを解決した

この記事は最終更新日から5年以上が経過しています。

TL;DR

  • Javaコンパイラの encoding 設定とは別に、 AspectJコンパイラの encoding 設定も必要だった
  • 文字化けせずにログが出るように検証したンプルは↓
    • https://github.com/o-hayato/AspectJ-sample

発生状況

  • Java + AspectJ の検証をするために gradle-aspectj プラグインを使って検証していた
  • AspectJ で出している部分のログは文字化けするが、コードから直接出しているログは文字化けしないという謎の現象が発生した

原因

  • Javaコンパイラの encoding 設定 は UTF-8 として設定していた
  • encoding の設定をして安心していたが、 AspectJコンパイラの encoding 設定は別途必要だった

対処法

compileAspect {
    additionalAjcArgs = ['encoding' : 'UTF-8']
}

compileTestAspect {
    additionalAjcArgs = ['encoding' : 'UTF-8']
}

compileAspect と compileTestAspect に encoding の設定を追加する

参考

  • https://github.com/eveoh/gradle-aspectj
  • http://www.eclipse.org/aspectj/doc/released/devguide/antTasks-iajc.html#antTasks-iajc-options