【发布时间】:2011-02-18 17:58:21
【问题描述】:
出于教育目的,我设置了这样的项目布局(为了更好地适应 eclipse):
-product
|
|-parent
|-core
|-opt
|-all
Parent 包含一个带有 core、opt 和 all 的聚合项目。核心实现了应用程序的强制部分。 Opt 是可选部分。 All 应该将 core 与 opt 结合起来,并将这两个模块列为依赖项。
我现在正在尝试制作以下工件:
- product-core.jar
- product-core-src.jar
- product-core-with-dependencies.jar
- product-opt.jar
- product-opt-src.jar
- product-opt-with-dependencies.jar
- product-all.jar
- product-all-src.jar
- product-all-with-dependencies.jar
它们中的大多数都相当容易制作。不过,我确实对聚合工件有一些问题。我已经设法在“all”模块中使用自定义程序集描述符制作了 product-all-src.jar,该模块下载了所有非传递 deps 的源代码,并且效果很好。这种技术还允许我制作 product-all-with-dependencies.jar。
然而,我最近发现您可以使用源插件中的 source:aggregate 目标来聚合整个聚合项目的源。对于 javadoc 插件也是如此,它也通过父项目的使用进行聚合。
所以我在我的“所有”模块方法和放弃“所有”模块并只使用“父”模块进行所有聚合之间纠结。在“父级”中产生一些聚合工件,而在“全部”中产生其他工件感觉不干净。有没有办法在父项目中制作“product-all”jar,或者在“all”项目中聚合 javadoc?还是应该两个都保留?
谢谢
【问题讨论】:
标签: java maven-2 aggregate maven maven-assembly-plugin