2011-01-15 6 views
0

mavenプロジェクトに一連のサーブレットとサーブレットフィルタがあり、jarにパッケージ化されていて、そのjarファイルは/ libディレクトリに含まれています。一連の他の "ホスト" Webアプリケーションこれらのサーブレットは単独で実行されるものではなく、独自の戦争を保証するものではありません(スタンドアロンWebアプリケーションではありません)。mavenカーゴプラグインで起動した実行中のコンテナにプロジェクトjarをデプロイするときの問題

私のsrc/test/javaディレクトリには、これらの "ホスト"アプリケーションを擬似的に模倣するいくつかのMockオブジェクトがあります。

統合テスト段階では、tomcatのインスタンスを起動するときにcargoを使用していますが、tomcatにsrc/test/javaのmock "host"サーブレットを使用するのは苦労しています。

これを行う推奨方法がありますか?最初にsrc/test/javaのソースから戦争を構築する必要がありますか?

また、実際のプロジェクトのjarをWEB-INF/libに移動してからコンテナを起動する必要があります。私はこれを行うには、Mavenアセンブリプラグインを使用すると考えていた?貨物の設定オプションだけでこれを行う方法はありますか?

ありがとうございます。

答えて

0

私がやったことは戦前の組込みテスト段階でmaven-war-pluginを使って戦争を構築したことでした。

次に、maven-dependency-pluginを使用して、いくつかの必要な依存関係をwarビルドの場所にコピーしました。

そして、私は統合テストのために新しい戦争場所に貨物を指摘しました。

私はmvnパッケージを実行すると、パッケージ化したいすべてのクラスのjarファイルを取得します。mvn integration-testを実行すると、貨物がテストハーネスとして起動するという戦争が起こります。それはかなりうまくいった。

私の質問をご覧いただきありがとうございます。

0

はい、このためのWARを構築する必要があります。

Cargoは、コンテナが理解する内容を展開します。これは、WARファイルまたはEARファイルですが、JARファイルは展開しません。

+0

src/main/javaではなくsrc/test/javaフォルダからそのwarをビルドする方法を提案していますか? –

+0

モックコードをsrc/main/javaに移動し、それをアクティブにするフラグを設定します。いつものように戦争を築きなさい。 –

関連する問題