2012-04-17 20 views
0

私のアプリケーション構造:JARとしてパッケージングされている私のプロジェクト(私たちにはAAAと言いましょう)。プロジェクトAAAは、EARであるCCC用のWebプロジェクトBBBおよびBBBイントールモジュールに依存して追加されます。mavenパッケージには依存するjarファイルは含まれていません

AAAプロジェクトのmavenビルドを行っている間、mavenは依存jarをパッケージ化の一部として含めていないため、earパッケージをデプロイすると、デプロイメントは最終的に失敗します。

Mavenの中には一般的ではありません、個々のプロジェクトライブラリを()を含むように、どのように回避が 2を複製して、親と子プロジェクト間の共通ライブラリが共有作り方質問

1))

答えて

1

デフォルトを構築依存するjarファイルではなく、実際のモジュールにあるクラスファイルだけをパッケージ化することです。これは、ueber-jarの種類を作成する場合はmaven-shade-pluginを使用して実現できますが、通常のユースケースではありません。あなたが耳を作成しようとしている場合は、すべての瓶がパッケージ化されます。そうでなければ、設定が正しくないか、またはMaven-ear-Pluginを使用していないか、パッケージが "耳"

あなたがのが最も簡単な解決策を構築するマルチモジュール内の共通それを呼びましょうlibが共有したい場合は、このような構造を作成することです:

あなたはモジュール-1に依存関係として一般的に定義
+-- root (pom.xml) 
     +-- module-1 (pom.xml) 
     +-- module-2 (pom.xml) 
     +-- common (pom.xml) 

共通モジュールを依存性として使用する任意の他のモジュールに実装することができる。このexampleをご覧ください。

関連する問題