0

私はやや複雑な状況にあり、Maven 環境をセットアップする最善の方法がわかりません。

特定のシステムのテストを作成できるようにするフレームワークを作成しています。システムはさまざまなアプリケーションをホストできます。各アプリケーションには、フレームワーク (「テスト」の一般的な概念やメッセージの送受信などを処理する) とは別に保持したい一連のテストがあります。 . また、フレームワークは一般的な UI を提供するため、テストを実行および構成できるように、war としてビルドおよびデプロイできます。

私が現在行っていることは、jar と war の両方としてフレームワークを構築し、フレームワークを各アプリケーション テスト スイートの依存関係としてリストし、オーバーレイを使用してすべてのフレームワーク コードをプルして、各スイートが独自の war を構築して展開できるようにすることです。これはグロスです。

私が望むのは、(おそらくプロファイルを介して) どのテスト スイートをフレームワークでビルドするかを指定し、指定されたスイートが含まれた単一の Framework.war ファイルになることです。このために poms を構築しようとすると、循環依存関係が発生し続けます。

  • テストをビルドするには、テスト プロジェクトがフレームワークに依存している必要があります
  • 指定されたテスト jar を取り込むには、フレームワークがそれらのテスト プロジェクトに依存している必要があります。

私が試したこと:

  • フレームワークのテスト スイート サブプロジェクトを作成します。
    • 最終結果を戦争としてパッケージ化できないため、これは機能しません (アグリゲーター プロジェクトの pom パッケージのみ)。
  • テスト .jar をシステムの依存関係として一覧表示します。
    • これは機能しますが、jarへのパスを手動で指定する必要があるのは面倒です
  • テストをフレームワーク内の Java パッケージとして配置し、フィルターを介して必要なものだけをコンパイルします。
    • 技術的には可能ですが、各テストスイートも構成できるため、個別のmavenプロジェクトに論理的に分離することを本当に望んでおり、そのすべての構成をフレームワークpomから除外したいと思います

理想的なのは、次のような親プロジェクトの pom です。

  1. テストなしでフレームワークをコンパイルする
  2. 指定されたテスト スイートをコンパイルする
  3. 指定されたテスト スイート jar を含む、フレームワーク .war を再構築します。

これが可能かどうか、または推奨されるかどうかはわかりませんが、私にとっては最善の解決策のようです。このプロジェクトを組織するための提案を事前にありがとう。

4

0 に答える 0