教育目的で、プロジェクトのレイアウトを次のように設定しました (Eclipse をより適切に使用するためにフラットにします)。
-product
|
|-parent
|-core
|-opt
|-all
親には、core、opt、および all を含む集約プロジェクトが含まれています。Core は、アプリケーションの必須部分を実装します。Optはオプションパーツです。すべては、core と opt を結合することになっており、これら 2 つのモジュールが依存関係としてリストされています。
現在、次のアーティファクトを作成しようとしています。
- 製品コア.jar
- 製品コア-src.jar
- product-core-with-dependencies.jar
- 製品-opt.jar
- 製品-opt-src.jar
- product-opt-with-dependencies.jar
- 製品-all.jar
- 製品-all-src.jar
- product-all-with-dependencies.jar
それらのほとんどは、作成がかなり簡単です。ただし、アーティファクトの集約には問題があります。すべての非推移的な deps のソースをダウンロードする「all」モジュールのカスタム アセンブリ記述子を使用して、product-all-src.jar を作成することができました。これは正常に動作します。この手法により、product-all-with-dependencies.jar を作成することもできます。
しかし最近、ソース プラグインで source:aggregate ゴールを使用して、集約プロジェクト全体のソースを集約できることがわかりました。これは、親プロジェクトの使用によって集約される javadoc プラグインにも当てはまります。
したがって、「すべて」モジュールのアプローチと「すべて」モジュールを捨てて、すべての集約に「親」モジュールを使用することの間で迷っています。「親」で生成された集約アーティファクトと「すべて」で生成された他のアーティファクトがあるのは不潔に感じます。親プロジェクトで 'product-all' jar を作成する方法、または 'all' プロジェクトで javadoc を集約する方法はありますか? それとも、両方を維持する必要がありますか?
ありがとう