私はかなり大きな (いくつかの MLOC) アプリケーションを手元に持っており、それをより保守しやすい別々の部分に分割したいと考えています。現在、この製品は約 40 の Eclipse プロジェクトで構成されており、その多くは相互に依存しています。これだけでは、チェックインごとに非常に多くの再構築が必要になるため、継続的なビルド システムは実行不可能になります。
「ベストプラクティス」の方法はありますか
- すぐに分離できる部分を特定する
- 相互依存関係を視覚的に文書化する
- 既存のコードを解く
- ライブラリに適用する必要がある「パッチ」を処理します(現在、実際のライブラリの前にクラスパスに配置することで処理されます)
これをサポートする (無料/オープンな) ツールがある場合は、ポインタをいただければ幸いです。
私は Maven の経験がありませんが、非常にモジュール化された設計を強制しているようです。これが反復的に後付けできるものなのか、それともそれを使用するプロジェクトは最初からモジュール性を念頭に置いてレイアウトする必要があるのか 疑問に思っています.
2009-07-10 を編集
Apache Ant/Ivyを使用していくつかのコア モジュールを分割しています。本当に便利でよく設計されたツールであり、maven ほどあなたに課すことはありません。
なぜ私たちがそれを行っているのかについて、より一般的な詳細と個人的な意見をブログに書き留めました。