私はやや複雑な状況にあり、Maven 環境をセットアップする最善の方法がわかりません。
特定のシステムのテストを作成できるようにするフレームワークを作成しています。システムはさまざまなアプリケーションをホストできます。各アプリケーションには、フレームワーク (「テスト」の一般的な概念やメッセージの送受信などを処理する) とは別に保持したい一連のテストがあります。 . また、フレームワークは一般的な UI を提供するため、テストを実行および構成できるように、war としてビルドおよびデプロイできます。
私が現在行っていることは、jar と war の両方としてフレームワークを構築し、フレームワークを各アプリケーション テスト スイートの依存関係としてリストし、オーバーレイを使用してすべてのフレームワーク コードをプルして、各スイートが独自の war を構築して展開できるようにすることです。これはグロスです。
私が望むのは、(おそらくプロファイルを介して) どのテスト スイートをフレームワークでビルドするかを指定し、指定されたスイートが含まれた単一の Framework.war ファイルになることです。このために poms を構築しようとすると、循環依存関係が発生し続けます。
- テストをビルドするには、テスト プロジェクトがフレームワークに依存している必要があります
- 指定されたテスト jar を取り込むには、フレームワークがそれらのテスト プロジェクトに依存している必要があります。
私が試したこと:
- フレームワークのテスト スイート サブプロジェクトを作成します。
- 最終結果を戦争としてパッケージ化できないため、これは機能しません (アグリゲーター プロジェクトの pom パッケージのみ)。
- テスト .jar をシステムの依存関係として一覧表示します。
- これは機能しますが、jarへのパスを手動で指定する必要があるのは面倒です
- テストをフレームワーク内の Java パッケージとして配置し、フィルターを介して必要なものだけをコンパイルします。
- 技術的には可能ですが、各テストスイートも構成できるため、個別のmavenプロジェクトに論理的に分離することを本当に望んでおり、そのすべての構成をフレームワークpomから除外したいと思います
理想的なのは、次のような親プロジェクトの pom です。
- テストなしでフレームワークをコンパイルする
- 指定されたテスト スイートをコンパイルする
- 指定されたテスト スイート jar を含む、フレームワーク .war を再構築します。
これが可能かどうか、または推奨されるかどうかはわかりませんが、私にとっては最善の解決策のようです。このプロジェクトを組織するための提案を事前にありがとう。