マルチモジュールのmavenプロジェクトがあります。親POMと個々のモジュールのpomは正常に動作しています(各モジュールのコードは依存関係の問題なしに正常に実行され、mvn:package
目標は警告/エラーなしで実行されるため)。ここで、モジュールごとに jar を作成する必要がありました。
依存関係のあるプロジェクト構造はおおよそ次のようになります
ProjectABC
|
|--ModuleA
| |-Log4J
| |-Guava
| |-pom.xml
|
|--ModuleB
| |-ModuleA
| |-Commons
| |-pom.xml
|
|
|--MoudleC
| |-ModuleB
|
|-pom.xml
このMavenマルチモジュールプロジェクトに従い ました-すべての「パッケージ」JARSをサブモジュールからparent/target/にコピーします
また、すべてのサブモジュールの jar をmouduleJars
フォルダーに入れることができますが、モジュールの依存関係がフォルダーにコピーされないため、jar を実行できませんmouduleJars
。たとえば、 I don't get log4j.jar in my folder にmodule A
依存している場合、log4J は moduleA.jar 内にパッケージ化されていませんLog4J
mouduleJars
質問
マルチモジュール プロジェクトで自己完結型 (スタンドアロン モジュール jar) を作成する方法。または、lib
フォルダー内のすべての依存関係を取得する方法。
一時的な回避策
現在、IntelliJ IDEA ide を使用して、すべての依存関係 (log4J、Guvava など) を lib フォルダーにコピーします。
フォルダーをクラスパスにmoduleA.jar
追加して生成されたmavenを実行します。lib
これは問題なく動作しますが、私はこの手動のアプローチが好きではなく、maven に処理してもらいたいと考えています。
重複しているか、すでに回答済みであり、反対票を投じていると思う人向け
私の質問は、 Maven Assembly Submodules Multimodules Or thisを求めているのではありません
Maven : マルチモジュール プロジェクトとバージョン管理
私はすでに1日以上を費やして、これをうまく機能させようとしましたがmaven-assembly-plugin
、成功しませんでした。
詳細が必要な場合はお知らせください。