「ソースのエンコーディングを指定するには」の版間の差分
提供: tknotebook
| (1人の利用者による、間の3版が非表示) | |||
| 1行: | 1行: | ||
| − | [[Category:コンピュータ]][[Category:Java]][[Category:Maven | + | [[Category:コンピュータ]][[Category:Java]][[Category:Maven]] |
[[メインページ]]>[[コンピュータの部屋#Java]]>[[Maven Tips]] | [[メインページ]]>[[コンピュータの部屋#Java]]>[[Maven Tips]] | ||
Mavenでコンパイルを行うと、ソースファイルのエンコーディングの既定値は | Mavenでコンパイルを行うと、ソースファイルのエンコーディングの既定値は | ||
| − | + | Mavenを実行しているプラットフォームの既定値になります。Unix系はプラットフォームの既定値は実行環境の設定次第、 | |
| + | Windowsの場合は、日本では Shift_JIS です。 | ||
| − | 今時、Javaのソースは UTF-8 | + | 今時、Javaのソースは UTF-8 で書くのが一般的ですからこれでは困りますし、実行環境によって勝手にソースのエンコーディング指定が変わるのも困ります。 |
| 34行: | 35行: | ||
</pre> | </pre> | ||
| − | + | を加える方法です。'''project.build.sourceEncoding プロパティ'''は、maven-compiler-plugin が参照している | |
| − | + | ソースファイルのエンコーディングの既定値で、このプロパティが存在していない場合は、エンコーディングはプラットフォームの既定値になります。 | |
| − | + | 尚、'''project.build.sourceEncoding プロパティ'''は maven-compiler-plugin だけではなく、他のプラグインも参照しているので、 | |
| − | + | 各種ソースファイルのエンコーディングを、プロジェクトで UTF-8 に統一するときに有用です。 | |
通常はこちらを使えばよいでしょう。 | 通常はこちらを使えばよいでしょう。 | ||
2016年11月9日 (水) 11:48時点における最新版
メインページ>コンピュータの部屋#Java>Maven Tips
Mavenでコンパイルを行うと、ソースファイルのエンコーディングの既定値は
Mavenを実行しているプラットフォームの既定値になります。Unix系はプラットフォームの既定値は実行環境の設定次第、
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 に統一するときに有用です。 通常はこちらを使えばよいでしょう。