Mavenビルドプラットフォームを独立させる方法は?


93

で、私のMac上でMavenを使用して構築する場合mvn install、私が取得

[警告]フィルタリングされたリソースをコピーするためにプラットフォームエンコーディング(実際にはMacRoman)を使用しています。つまり、ビルドはプラットフォームに依存しています!

特定のプラットフォーム(Linux)用にビルドすることも、ビルドプラットフォームを独立させることもできますか?

回答:


171

pom.xmlで以下を提供していない場合に発生します

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

これがない場合は、プラットフォーム固有のエンコーディングを使用しているため、警告が表示されます。


2
また、MavenのFAQページでも解決策を見つけることができます。http://maven.apache.org/general.html#encoding-warnin
Jeff7566 14年

はい、あなたの答えで言及された行を追加した後、私のは警告なしでうまく機能しています。カルに感謝
Ripon Al Wasim

7

そして、@ Kalの答えがうまくいかない場合は、おそらく私の最後の30分から学ぶことができます...以下のリンクは、上記の答えに行を追加して私の問題を解決しました。私の問題はmaven-resources-plugin 2.6に関連していましたが、次の解決策のプロバイダーはそれが解決した別の問題を抱えていました... https://stackoverflow.com/a/3018152/2485075


pom.xmlの1行目は次のとおりです。<?xml version = "1.0" encoding = "UTF-8"?> Windows 7でも同じ警告が表示されました。リソース、つまりビルドはプラットフォームに依存します!
Ripon Al Wasim

1

特定のニーズについて:

<!-- https://maven.apache.org/plugins/maven-resources-plugin/index.html -->
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-resources-plugin</artifactId>
    <version>3.1.0</version>
    <configuration>
        <encoding>UTF-8</encoding>
    </configuration>
</plugin>

プラグインがすでに設定されている場合は、単に追加する必要があります

<encoding>UTF-8</encoding>
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.