mike-neckのブログ

Java or Groovy or Swift or Golang

herokuでOpenJDK1.7以上を使っているgradleアプリケーションで、文字化けによるコンパイルエラーへの対処法

こんにちわ、みけです。

くっそタイトルが長いのですが、

ちょっと一昨日くらいにハマったので

メモ代わりに書いとこうと思ったので…



問題 : OpenJDK1.7以上で日本語を含むソースコードコンパイルするとエラーが発生する

日本語をソースに書かない人は特に問題ないのですが、

日本人だったら結構やりますね。

  • Javadocに日本語でドキュメントを書いている
  • テストコードのテスト名とかに日本語を書いている
  • 日本語のテストデータを使っている

こういうシーンは多々あると思います。

これらのコードをheroku上でコンパイルするとほぼ確実にエラーが発生するようです。


理由 : herokuのOpenJDK1.7はdefalut character encodingがUS-ASCIIだから

まあ、ググってたら、たまたま同じような問題を抱えていた人がいたので、

そこへのリンクを掲載しますねー。


解決策

上記のstackoverflow曰く、

heroku config:add JAVA_TOOL_OPTIONS='-Dfile.encoding=UTF-8'

を使ってherokuの環境変数を設定しろとのこと。

僕もこの設定をすることで、

テストコードの日本語とかJavadocの日本語とか全然問題なくなりました。


というわけで、enjoy heroku java!ということで~