プラグイン (maven プラグインではない) を追加できるcoreと呼ぶ webappがありますが、スタンドアロンの webapp として正常に実行およびビルドする必要があります。コアが依存し、コア用に開発されたすべてのプラグインも依存する plugin-lib があります。
このような:
core -> core-plugin-lib
plugins -> core-plugin-lib
私のディレクトリ構造は単純です:
root/
core/
pom.xml
core-plugin-lib/
pom.xml
pluginA/
pom.xml
pluginB/
pom.xml
私の最初の問題は、コアまたは任意のプラグインをビルドし、依存ライブラリもビルドできますか? modulesについて読みましたが、ご覧のとおり、libには2つの親があります。私が本当に望んでいるのは、コアをビルドし、lib もビルドすることです。または、プラグインをビルドした場合は、lib も個別にビルドしたいと思います。また、コアはどのプラグインにも依存しないことに注意してください。
2 つ目の問題は、コアをビルドしてプラグインをビルドする方法です。ただし、コアはプラグインに依存しておらず、プラグインはコアのモジュールであってはなりません。彼らはそうすることができました、それは必要条件ではありませんが、できるだけ独立した状態を維持したいので、私はむしろしたくありません.
現在、プラグインをビルドすると、コア内の /plugin ディレクトリにコピーされ、コア pom に配布プロファイルがあり、このディレクトリから webapp の war 内に既存のプラグインをコピーします。したがって、プロファイルなしでコアをビルドすると、プラグインはコピーされませんが、配布プロファイルを実行すると、はい. これは機能しますが、ライブラリを構築し、プラグインを構築し、コアを構築する必要があるため、面倒です。
最初の問題の二重の依存関係を解決できる pom 構造があるかどうか、および 2 番目の問題を処理し、依存していなくてもコアを介してプラグインを構築する方法があるかどうかを知りたいです。そして、可能であれば、別の pom ではなく、プロファイル内で 2 番目の問題を処理できれば. このプロファイルは、maven-assembly-pluginを使用して、すべてがパックされたtar.gzを作成します。また、できれば維持したいです。