GradleでJavaをコンパイル時に文字化けのエラーが出たので、解決方法をまとめた。
エラー:この文字は、エンコーディング Windows-31j にマップできません
Javaのソースをコンパイル時に出たエラー。
1 2 3 |
$ gradle compileJava xx.java:10: エラー: こ の文字(0x89)は、エンコーディングwindows-31jにマップできません |
Windows-31j っていうのは、MS932とかShiftJIS と同じ意味か。
要はソースコードに含まれれているUTF-8の文字コードをGradleでコンパイルした時に文字化けしているってことらしい。
解決方法:GradleでUTF-8にエンコード
このエラーは、Gradleの設定をUTF-8にエンコードしたら解決できるようです。
build.gradle に以下を記述しておきます。
1 2 3 |
tasks.withType(JavaCompile) { options.encoding = 'UTF-8' } |
このあと再び、コンパイルしてみます。
1 |
$ gradle compileJava |
エラーが無くなりました。
コメント