Hatena::Groupprogram

ひとり開発日記。 このページをアンテナに追加 RSSフィード

2013/07/23 (Tue)

"エラー: この文字は、エンコーディングMS932にマップできません"

| "エラー: この文字は、エンコーディングMS932にマップできません" - ひとり開発日記。 を含むブックマーク はてなブックマーク - "エラー: この文字は、エンコーディングMS932にマップできません" - ひとり開発日記。

今のプロジェクトでは*1DBアクセス部分は、Eclipselink JPA2.1 + Querydsl で行っています。

上記記事のようにMaven APT pluginを記述して、 mvn eclipse:eclipse で、aptが走って、JPA用のメタファイルが作られます。 すごく便利なんですが、Mavenを走らせると"エラー: この文字は、エンコーディングMS932にマップできません"が大量に出ます。

c:\>mvn --version
Apache Maven 3.0.4 (r1232337; 2012-01-17 17:44:56+0900)
Maven home: C:\Program Files\apache\apache-maven-3.0.4\bin\..
Java version: 1.7.0_15, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.7.0_15\jre
Default locale: ja_JP, platform encoding: MS932
OS name: "windows 7", version: "6.1", arch: "x86", family: "windows"

ソースコードUTF-8なのに、システムのエンコーディング(platform encoding)はMS932なのが、問題なのですな。

Maven – Frequently Asked Technical Questions を参考に、

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

とpom.xmlに設定したら出なくなりました。

*1:と言っても、ひとりプロジェクトなんですが…

トラックバック - http://program.g.hatena.ne.jp/halflite/20130723