我想请求您帮助解决以下问题。
考虑3个项目A,B,C。项目B和C是独立模块(产生jar)。这些项目可以通过他们自己的生活。项目A在某种程度上是特定的,我需要它作为模块(对于项目B,C)父项。当我构建项目A时,我也需要构建B,C。 Hovewer,Project A拥有它自己的源代码,当我构建它时,我希望它也能产生jar文件。
就我的知识而言,这在maven世界中有些矛盾。我只需要我的父pom来管理模块,同时用jar类型声明它。
到目前为止,我还没有找到任何关于如何管理它的资源,所以希望你们会带来一些想法。提前谢谢。
答案 0 :(得分:3)
这违反了单一责任原则。项目A应该是聚合器,或者它应该在构建之后产生工件。因此,您应该将项目A的来源分解为项目D,并让B和C依赖于D.
如果你坚持继承对A中包含的当前源的依赖,那么我建议你应该创建另一个项目E.层次结构应该如下所示:
A
+-D
+-E
+-B
+-C
新的聚合器E应该依赖于D。