2017-11-11 8 views
0

私は、--fail-at-endでmaven 3.3.9を使用してマルチサブモジュールプロジェクトを構築しようとしています。このフェーズの1つのサイクルを実行するには時間がかかり(数時間)、すべてのサイクルでいくつかのサブモジュールを構築し、もう一度Mavenビルドを実行する(別のサイクルを開始する)問題を解決します。 質問は次のとおりです:以前のサイクルで正常にビルドされたパッケージをビルドしようとしないようにする方法はありますか? 事前mavenパッケージ:正常にビルドされたサブモジュールをスキップ

+0

実際に何時間もかけてビルドしていますか?いくつのコード行(1000万行?)?いくつのテストですか? 10または50万? – khmarbaise

答えて

1

あなたはマルチモジュールプロジェクトを持っていて、の反復プロセスを経て、完全な、成功したビルドを取得しようとしているようですね...

build -> fail -> fix the failure -> rebuild 

のおかげで...と周りのたびに毎回プロジェクト全体を構築するのではなく、障害が発生したモジュールで再開したいループです。

このユースケースに標準的なアプローチは、-rfを使用することです:

-rf, --resume-from 
    Resume reactor from specified project 

たとえば、次のようにmoduleDという名前のモジュールを再度実行し、ビルドを失敗した場合:

mvn -rf :moduleD install 

詳細をin the docs

ビルドを再実行するときにcleanフェーズを含めないことも選択できます。これにより、Mavenのインクリメンタルコンパイラは再構築が必要なものを処理できます。

関連する問題