Javaのコンパイルで、ソースファイルのエンコーディングを UTF-8にするには

提供: tknotebook
移動: 案内検索

メインページ>コンピュータの部屋#Gradle>Gradle Tips

Javaに限らず多くのプログラミングでは、ソースファイルのエンコーディングに UTF-8 を使うことが多くなってきました。

しかし Gradle の Javaプラグインによるコンパイルは 既定では、Javaソースの エンコーディングはシステムのデフォルト(日本のWindowsでは MS932) です。

Gradle の Java の既定のソースセットのソースファイルのエンコードを UTF-8にするには build.gradle で各ソースセットのコンパイル用のタスクのプロパティ options.ecncoding を 変更します。

compileJava.options.encoding = 'UTF-8'
compileTestJava.options.encoding = 'UTF-8'

と書くのが簡単です。

但し、ソースセットを追加した場合は追加記述が必要です。 普通はこれで十分ですし、ソースセットが増えてもちょっと書くことが増えるだけですが、 全てのソースセットのJavaソースファイルのエンコーディングを UTF-8 にするには

tasks.withType(JavaCompile) {
    options.encoding = 'UTF-8'
}

とします。これはJavaCompile型のタスクを抽出して、全てのプロパティを変更します。