Maven:父聚合器是项目本身

时间:2013-01-09 08:05:01

标签: maven

我想请求您帮助解决以下问题。

考虑3个项目A,B,C。项目B和C是独立模块(产生jar)。这些项目可以通过他们自己的生活。项目A在某种程度上是特定的,我需要它作为模块(对于项目B,C)父项。当我构建项目A时,我也需要构建B,C。 Hovewer,Project A拥有它自己的源代码,当我构建它时,我希望它也能产生jar文件。

就我的知识而言,这在maven世界中有些矛盾。我只需要我的父pom来管理模块,同时用jar类型声明它。

到目前为止,我还没有找到任何关于如何管理它的资源,所以希望你们会带来一些想法。提前谢谢。

1 个答案:

答案 0 :(得分:3)

这违反了单一责任原则。项目A应该是聚合器,或者它应该在构建之后产生工件。因此,您应该将项目A的来源分解为项目D,并让B和C依赖于D.

如果你坚持继承对A中包含的当前源的依赖,那么我建议你应该创建另一个项目E.层次结构应该如下所示:

A
+-D
+-E
  +-B
  +-C

新的聚合器E应该依赖于D。