Maven2 の隠れた機能は何ですか?
5 に答える
settings.xml を使用して、ローカル マシンで実行されているすべての maven ビルドで、ローカルにインストールされた maven プロキシも使用するように強制できます。自分自身とネットワーク時間を節約します。
<settings xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd">
<profile>
<id>localcacheproxies</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<repositories>
<repository>
<id>localCacheProxy</id>
<url>http://my-local-proxy.com/maven-proxy</url>
</repository>
</repositories>
</profile>
</profiles>
この settings.xml の名前空間の見出しも、ここに掲載されている他の例とは対照的に、まともなインテリセンスを提供することに注意してください。(Windows、Linux、Mac、およびすべてのOSのホームディレクトリ.m2フォルダーに作成します)
また、dependency:analyze も参照してください。
ビルド時にのみ発見できる値を含む必要があるファイルがある場合があります。評価期間が終了しているかどうかを確認する Java クラスがあり、その期間を「このビルドがコンパイルされてから 30 日」と定義している場合があります。現在の日付またはその他のプロパティをビルドに直接挿入する方法が必要です。
Maven には、フィルタリングと呼ばれるクールな隠し機能があります (ドキュメントはこちら)。フィルタリングを使用すると、Maven に特定のソース ファイル内のパターンを検索し、それらを何らかの値に置き換えるように指示できます。これをアクティブ化するのは次のように簡単です。
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
</build>
フィルターに何をくっつけますか?すべての環境変数、pom ファイル内のほとんどの値、および Java コンパイラに関する情報。Maven でバージョン番号を変更した場合、whatever.properties ファイルを見つけてそこでバージョンを更新する必要はありません。Maven で変更するだけで完了です。
- プロジェクト継承
- プロジェクト集計
- アセンブリ:アセンブリ
- レポート (findbugs、checkstyle、clover、pmd など)
maven-dependency-plugin を使用すると、依存関係の競合や循環依存の問題を解決できます。
pom.xml に追加します。
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
</plugin>
次に、mvn dependency:resolveまたはmvn dependency:build-classpathを実行してテストします。
依存関係プラグインの詳細: http://maven.apache.org/plugins/maven-dependency-plugin/howto.html