「ソースのエンコーディングを指定するには」の版間の差分

提供: tknotebook
移動: 案内検索
 
1行: 1行:
 
[[Category:コンピュータ]][[Category:Java]][[Category:Maven Tips]]
 
[[Category:コンピュータ]][[Category:Java]][[Category:Maven Tips]]
 
[[メインページ]]>[[コンピュータの部屋#Java]]>[[Maven Tips]]
 
[[メインページ]]>[[コンピュータの部屋#Java]]>[[Maven Tips]]
 +
 +
 +
Mavenでコンパイルを行うと、ソースファイルのエンコーディングの既定値は
 +
Mavenを実行しているプラットフォームの既定値になります。Windowsの場合は Shift_JIS です。
 +
 +
今時、Javaのソースは UTF-8 で書くのが一般的ですからこれでは困ります。
 +
 +
 +
maven-compiler-plugin の設定を変更するのが正攻法で、pom.xml の buildタグの中に(なければbuildタグを加え)
 +
以下の記述を加えます。
 +
 +
<pre>
 +
<build>
 +
    <plugins>
 +
        <plugin>
 +
            <artifactId>maven-compiler-plugin</artifactId>
 +
            <version>3.5</version>
 +
            <configuration>
 +
                <encoding>UTF-8</encoding>
 +
            </configuration>
 +
        </plugin>
 +
    </plugins>
 +
</build>
 +
</pre>
 +
 +
これよりももっと簡単な方法があります。pom.xml の末尾(projectタグの内側の一番最後)に
 +
 +
<pre>
 +
<properties>
 +
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 +
</properties>
 +
</pre>
 +
 +
を加える方法です。project.build.sourceEncoding プロパティは、maven-compiler-plugin が参照している
 +
ソースファイルのエンコーディングの既定値で、このプロパティが存在していない場合は、プラットフォームの既定値になります。
 +
 +
尚、project.build.sourceEncoding プロパティは maven-compiler-plugin だけではなく、他のプラグインも参照しているので、
 +
ソースファイルのエンコーディングを、プロジェクトで UTF-8 に統一するときに有用です。
 +
通常はこちらを使えばよいでしょう。

2016年10月19日 (水) 04:45時点における版

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


Mavenでコンパイルを行うと、ソースファイルのエンコーディングの既定値は Mavenを実行しているプラットフォームの既定値になります。Windowsの場合は Shift_JIS です。

今時、Javaのソースは UTF-8 で書くのが一般的ですからこれでは困ります。


maven-compiler-plugin の設定を変更するのが正攻法で、pom.xml の buildタグの中に(なければbuildタグを加え) 以下の記述を加えます。

<build>
    <plugins>
        <plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.5</version>
            <configuration>
                <encoding>UTF-8</encoding>
            </configuration>
        </plugin>
    </plugins>
</build>

これよりももっと簡単な方法があります。pom.xml の末尾(projectタグの内側の一番最後)に

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

を加える方法です。project.build.sourceEncoding プロパティは、maven-compiler-plugin が参照している ソースファイルのエンコーディングの既定値で、このプロパティが存在していない場合は、プラットフォームの既定値になります。

尚、project.build.sourceEncoding プロパティは maven-compiler-plugin だけではなく、他のプラグインも参照しているので、 ソースファイルのエンコーディングを、プロジェクトで UTF-8 に統一するときに有用です。 通常はこちらを使えばよいでしょう。