スポンサーリンク
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.
スポンサーリンク
スポンサーリンク