教育目的我已成立了一个项目布局,像这样(平以适合蚀越好):Maven - 用于聚合的'all'或'parent'项目?
-product
|
|-parent
|-core
|-opt
|-all
家长包含核心聚集项目,选择和所有。核心实现应用程序的强制性部分。 Opt是可选部分。所有应该将核心与opt结合起来,并将这两个模块列为依赖关系。
我现在想作以下工件:
- 产品core.jar添加
- 产品核心src.jar
- 产品的核心与 - dependencies.jar
- 产品opt.jar
- 产品-OPT-src.jar
- 产品选择与 - dependencies.jar
- 产品all.jar在
- 产品全src.jar
- 产品全有,dependencies.jar
他们大多是相当简单的生产。尽管如此,我还是遇到了一些聚合工件的问题。我已经设法在'all'模块中使用自定义组装描述符来制作product-all-src.jar,该模块下载所有非传递代码的源代码,并且工作正常。这种技术还允许我制作产品 - 所有 - 依赖项.jar。
但是我最近发现,你可以使用源插件中的source:aggregate goal来聚合整个聚合项目的源代码。对于javadoc插件也是如此,该插件也通过使用父项目进行汇总。
因此,我在我的'所有'模块方法和抛弃'all'模块之间发生了撕裂,只是使用'parent'模块进行所有聚合。在“父母”中产生一些聚合文物,而在“全部”中产生其他文物的感觉是不清楚的。有没有在父项目中制作'产品全部'jar或在'all'项目中聚合javadoc的方法?或者我应该保持两种?
感谢
感谢您的提示。我只是看了一下,看起来maven的源代码遵循了我所建议的总体布局,但是没有像你指出的那样展开树。最后的程序集是IMO不是很干净,它只是为'../'目录中的所有源文件执行正则表达式grep,如果你想从3:rd方依赖关系等方面获得源代码,这并不容易。也不符合javadoc聚合器工作(通过父项目)。看起来我想要的功能不见了,当我尝试了一些功能时,我会尝试在这里写出另一种方法。感谢指针。 – 2010-06-07 13:12:35
顺便说一句,src程序集可以在http://svn.apache.org/repos/asf/maven/maven-3/trunk/apache-maven/src/main/assembly/src.xml找到。 – 2010-06-07 13:13:11