Gradleでコンパイル時の文字コードを指定する
GradleのJavaプラグイン使用してビルドを行う時、以下のようなエラーが出る時がある。 これは、Javaコンパイラがビルド時に使用する文字コードと、ソースコード中の文字コードが一致していないことで発生するエラーである。
例えばWindows 10では、システムの文字コードはMS932(Shift_JISの拡張版らしい)なので、特に指定しないとJavaコンパイラはMS932でファイルを読み込もうとする。 この時、Javaのソースコード中に日本語のコメントが書かれており、かつ、そのファイルの文字コードがUTF-8であったりすると、Javaコンパイラで日本語の読込みに失敗し、上記エラーが出力される。
このエラーを発生させないようにするには、コンパイル時に使用する文字コードと、ソースコードの文字コードを一致させればよい。
GradleのJavaプラグインを使用している場合、build.gradleを以下のようにすればコンパイル時の文字コードを指定できる。 (以下はUTF-8を指定した場合の例)
apply plugin: 'java' tasks.withType(JavaCompile) { options.encoding = 'UTF-8' }