4

問題: 3 レベルの POM ツリーに多数の Maven サブプロジェクト (m2eclipse で管理) があり、人々はそれらのいくつかを隔週で追加および削除し続けています。新しく追加されたすべてのプロジェクトが欠落している場合にコンパイル時エラーが発生するわけではないという事実によって、問題はさらに複雑になります。人々が適切にインポートするのを忘れ、何らかの理由で Eclipse がそれらの存在を自動的に認識しないため、OSGi コンテナーにドロップされない可能性があります。

現在、人々はいくつかのメーリング リストを監視する必要があり、そのようなイベントが発生するたびに、ルート POM のインポート ウィザードを手動で呼び出して不足しているプロジェクトを追加するか、不要なプロジェクトを手動で削除する必要があります。移動/名前変更は、削除/追加の組み合わせです。

これはすべて非常にエラーが発生しやすいため、何らかの方法でプロセスを自動化/簡素化したいと考えています。

理想的には、次のワークフローが必要です: 1) 同期 2) Eclipse を起動 3) 開発者のワークスペースを最新の POM ツリー (ルート POM は修正済みで既知) に対して分析するトリガーへのフック 4) いくつかのボタンが必要です- 緑、すべてが問題ない場合 - 赤、そうでない場合 クリックすると、不要なプロジェクトが自動的に削除され (および Eclipse 内部が更新され)、新しいプロジェクトが追加されます (サイレント モードでインポート ウィザードを呼び出すようなもの)。 .

既存の機能で可能ですか?それとも、何らかの方法で m2e を拡張する必要がありますか? 他の解決策はありますか?

どんな助けでも大歓迎です!

PS

この種の問題は、おそらくプロジェクト構造の設計が不適切であることが原因であることを認識しています。ただし、タイトなリリース サイクルで実行している場合、これを修正するのは容易ではありません。したがって、暫定的な解決策が必要です。

4

1 に答える 1

1

これは、あなたが間違った問題を修正しているように思えます。このようなものがm2eですぐにサポートされるとは思えません-いつの日か、各タイプを独自のモジュールに入れることがベストプラクティスにならない限り. しばらくすると、プロジェクト モジュールが安定し、変更される可能性はあるが頻繁ではないアーキテクチャが反映されるはずです (メジャー バージョンのみ)。変更が頻繁すぎる場合は、設計上の決定に十分な考慮が払われていません。プロジェクトを複数のサブプロジェクトに分割し、それらをチェックアウト/クローンして、独立して作業できるようにすることを検討してください。

変更を同期するときは、追加/削除されたモジュールがあるかどうかを確認するだけです。ある場合は、同期後に論理的に削除してから、既存の Maven プロジェクトをインポートし直します。

于 2012-02-07T21:28:34.820 に答える