2016-04-15 15 views
0

Eclipseのリビルドを高速化する方法を探しています。複数のプロジェクトでEclipseのMavenビルドを最適化する

いくつかの背景:私たちは比較的大規模なプロジェクト、約177個のファイル、全部で約150個のモジュールを持っています。テストなしの完全なビルドには約15-20分かかります。テストは6時間近く行います。あなたがデバッグやリファクタリングをするときは、PITAです。私たちはいくつかのアクティブブランチを持っています(そして、それらを頻繁に切り替える必要があります。ローカルブランチは、常にX.X-SNAPSHOTのバージョンです(これは重要と思われる)。

ほとんどの場合、すべてのプロジェクトを変更しているわけではなく、ほとんど作業していません。だから、最適化の余地がたくさんあります。

私の理想的なシナリオは、明示的にそうしない限り、パッケージレポジトリから引き出され、ローカルに構築されないプロジェクトを選択することです。これは達成できますか?


物事は私が試した:

  1. モジュールのサブセットのみをインポートします。部分的に役立ちますが、依然としてすべての依存関係がチェックされるため、変更されていないにもかかわらず、プロジェクトのモジュールの半分がチェックされてしまうことは避けられません。部分的な成功。

  2. 私が扱うソースコントロールからプロジェクトをチェックアウトするだけです。ビルドは驚くほど高速です。なぜなら、Mavenはビルドする代わりに、企業リポジトリまたは〜/ .m2キャッシュからバイナリ依存関係を取得するためです。あなたはすべてのソースをチェックアウトしていないので、SVNとGitの作業はやや難しくなります。部分的な成功。

  3. 自動ビルドを無効にし、コマンドラインからすべてを-am -plオプションでビルドし、更新されたプロジェクトを指定します。大規模な変更(つまり、マージ後)を行う必要がある場合に役立ちますが、(a)煩雑であり、(b)自動的にビルドを有効にすると課税されます。

  4. 私たちは、その巨大なレポを個々のサービスとベースライブラリに分解し、異なるソース管理リポジトリに移動することを提案します。経営陣から「ええ、正しい」と感じました。おそらく起こることはないでしょう。

他に何かできることはありますか?

答えて

0

これらの4つのオプションにしばらくぶつかった後、私はIdeaに移動し、Mavenのキャッシュ設定(文字通り、IDEキャッシュを〜/ .m2に向けて)をしばらく動かすと、少し寛容になりました。それでもソリューションは満足できるものではありません。私はこれが役立つことを願っています

関連する問題