2012-04-28 12 views
9

私は外部環境変数に依存したくないので、MavenにUTF-8でクラスをビルドさせる必要があります。 Macでは、mavenを使ってビルドするときに、さまざまな問題が発生していました。以下の唯一のオプションは、問題を解決:外部JAVA_TOOL_OPTIONSを使用せずに、UTF-8でmavenビルドクラスファイルを作成する方法はありますか?

export JAVA_TOOL_OPTIONS=-Dfile.encoding=UTF-8 
mvn clean install 

私は自分のプロジェクトを配布していますし、それが正しく、プロジェクトをビルドするために、この環境変数を設定するユーザーに依存しても意味がありませんが。ここで説明するように

はすべてをしようとしました:enabling UTF-8 encoding for clojure source files

誰もがその素晴らしいMavenの問題に光を持っていますか?

+0

mavenの出力にエンコードのエラー/警告が表示されていますか? – andyb

答えて

30

が定義されていますhttps://stackoverflow.com/a/10367745/962872

そのプロパティを定義するには十分ではありません。あなたは適切なプラグインの中にそれを渡さなければなりません。そこには魔法はありません。

+0

最後に両方の質問に答えがありましたらうれしいです。 – andyb

+1

正式なMavenのドキュメントによれば、 ''タグを追加するだけでOKです。引用:_ソースファイルのエンコーディングに関するガイドラインに従うプラグイン**については、 *これはPOM(またはその親POMの1つ)に次のプロパティを追加するのと同じくらい簡単です:..._ソース:http://maven.apache.org/general.html#encoding-warning – mithrop

+1

maven-compiler -pluginとmaven-resources-plugin documentationは言う:パラメータのエンコーディング:デフォルト値は '$ {project.build.sourceEncoding}'なので、プロパティを設定するのは今のところ十分だと思うよ。 – leo

1

はい、@Joop Eggenはここに正しい答えを与えた

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

これはMacでは動作しません。私はここで何度も成功しなかった。 : – chrisapotek

+2

他にも問題がありますどのMavenのバージョンを使用していますか?どの問題が発生しましたか?エラーメッセージなど – khmarbaise

0

私はこの問題にぶち当たっていましたが、Emacsからコンパイルを実行しているときだけでした。私はプロジェクトのポンムを変更することができませんでした。私のために働いたのは〜/ .mavenrcに次のように書いていました

LANG=en_US.UTF-8 
関連する問題