10

MavenにUTF-8を使用してクラスを構築させるために、外部環境変数に依存したくありません。Macでは、Mavenを使用してビルドするときにさまざまな問題が発生していました。以下のオプションのみが問題を解決しました。

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

ただし、プロジェクトを配布しているので、プロジェクトを正しくビルドするためにこの環境変数を設定するためにユーザーに依存することは意味がありません。

ここで説明されているようにすべてを試しました:clojureソースファイルのUTF-8エンコーディングを有効にします

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

4

3 に答える 3

35

@Joop Eggen はここで正しい答えを出しました: https://stackoverflow.com/a/10367745/962872

そのプロパティを定義するだけでは不十分です。適切なプラグイン内でそれを渡す必要があります。中は魔法では通りません。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>...</version>
    <configuration>
        <source>1.6</source>
        <target>1.6</target>
        <encoding>${project.build.sourceEncoding}</encoding>
    </configuration>
</plugin>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <version>...</version>
    <configuration>
        <encoding>${project.build.sourceEncoding}</encoding>
    </configuration>
</plugin>
...
<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
于 2012-04-29T20:01:35.100 に答える
1

はい、あります、定義します

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
于 2012-04-29T00:17:07.673 に答える
1

私はこの問題に遭遇していましたが、それは Emacs からコンパイルを実行したときだけでした。プロジェクトのポンを変更できませんでした。私にとってうまくいったのは、以下を ~/.mavenrc に入れることでした

LANG=en_US.UTF-8
于 2013-09-13T19:16:31.607 に答える