2

私は簡単に試しました:

 mvn clean install -Dmaven.test.skip.exec=true

Maven2 (2.2.1) から Maven3 (3.0.4 - 3.0.3) に切り替えます。しかし、Maven2 によるビルドに費やされた時間はより少なくなりました! Maven2 で 16 分近く、Mave3 でビルドするプロジェクトの場合 - 20 分近く。しかし、スタックオーバーフローでもMaven3よりもパフォーマンスが優れていることがわかりました。Maven3 用に別のローカル リポジトリを作成する必要がありますか (Maven2 によって作成された古いものを使用しました)、または追加のオプションを使用する必要がありますか? ありがとう。

4

2 に答える 2

2

Maven 3 は Maven 2 よりも高速である必要があります。もちろん、一部のエッジ ケースではパフォーマンスが低下する可能性が常にあります。あなたのケースのどこに問題があるのか​​ わかりませんが、たとえば、どのフェーズに時間がかかるかを確認し、それを Maven 2 ビルドと比較することから始めます。

  • これはマルチモジュール ビルドですか、それともシングル モジュール ビルドですか?
  • ビルドに非標準のビルド拡張機能が含まれていますmaven-bundle-pluginか?
  • ビルドは最新バージョンのプラグインを使用していますか? maven-compiler-pluginバージョン 2.4.0 では、マルチモジュール プロジェクトのパフォーマンスが大幅に向上しています。
  • ビルドはバージョン範囲でアーティファクトを参照しますか? 初期の Maven 3.0.x バージョンでは、パフォーマンスの面でいくつかの問題があったことを思い出します
  • すべてのプラグイン バージョンは POM で修正されていますか? Maven 3 が、パフォーマンスの低下を伴う新しいプラグイン バージョンを導入する可能性があります。

根本原因を絞り込んだら、可能であれば自分で修正するか、Maven プラグインまたは Maven コアにバグ レポートを送信できます。

于 2012-05-15T07:39:50.137 に答える
0

ライフサイクルの一部を並行して実行する可能性を提供する Maven 3 の -T オプションを試すことができます。

--help 出力からの抜粋:

-T,--threads <arg>                     Thread count, for instance 2.0C
                                        where C is core multiplied

ただし、使用しているプラ​​グインのバージョンが最新であり、@threadsafe で正しくマークされているかどうかによって異なります。しかし、時には試してみる価値があります。

于 2012-05-14T18:49:30.620 に答える