情報科学屋さんを目指す人のメモ

方法・手順・解説を書き残すブログ。私と同じことを繰り返さずに済むように。

Eclipse+Maven:「Using platform encoding (MS932 actually) to copy filtered resources, …」エラーの対策方法

Eclipse (60) Maven (19) Maven 3 (4)

Windows+Eclipse+Maven3で表示された警告の対策法について。

警告の内容

「Error Log」にこんな警告が表示されました。

Using platform encoding (MS932 actually) to copy filtered resources, i.e. build is platform dependent!

対策

これはつまり、文字コードが指定されていないので、プラットフォームの文字コード(WindowsなのでMS932(CP932))を使用していて、プラットフォーム依存のビルドになってしまっています(プラットフォームによって実行されるビルド内容が変わってしまうよ)、という意味です。

POM Element for Source File Encoding - Maven User - Codehaus」を参考にして、POM.xmlに次のコード(Maven 3用)を追加しました。

<project>
  ...
  <build>
    <!-- NOTE: This is just a vision for the future, it's not yet implemented: see MNG-2216 -->
    <sourceEncoding>UTF-8</sourceEncoding>
    ...
  </build>
  ...
</project>

しかし、この場合はエラーが出てビルドが実行できませんでした。「sourceEncodingが認識できなかったようです。というのもよくよく先ほどのリンク先を読んでいると、まだ実装できていないようです。というわけで、これを消して、その代わりにMaven 2.x用の次のコードを追加しました。

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

(Eclipseの機能を使う場合は、pom.xmlを開いて、POMエディタの「Overview」タブにある「Properties」の「Create...」から「Add property」を開き、「Name」に「project.build.sourceEncoding」、「Value」に「UTF-8(など適切なもの)」を入力して「OK」をクリックしてもOKです)

結果

警告は発生せず、その代わり、ログに指定した文字コードが表示されます。

Using 'UTF-8' encoding to copy filtered resources.

コメント(0)

新しいコメントを投稿