ben*_*n75 46
简而言之:如果您的父聚合器项目不包含源代码(这是一个好习惯),只需将其添加到您的父pom.xml:
<packaging>pom</packaging>
Run Code Online (Sandbox Code Playgroud)
如果父项目包含源代码,我强烈建议您:
commons)commons父项目的子模块commons模块添加为需要它的所有其他模块的依赖项(可能全部)<packaging>pom</packaging>在父pom.xml中添加San*_*gen 15
Maven要求父母成为packaging pom.
通过包含一堆插件执行并将它们附加到后续生命周期阶段,您可以使pom项目的行为就像它是一个jar项目一样.这不是一条快乐的道路.相反,以下是.
从面向对象的角度来看,你想要的是什么?你有一个由一堆其他物体组成的物体,对吧?换句话说,构成,而不是继承.
您的最终交付由其他(jar)项目组成,即其他项目是最终交付项目的依赖项.您将定义其他项目,dependency以便任何使用您的最终交付的人都知道要获得什么(传递)依赖项.或者,最终交付jar可以打包为"超级 - jar",因此包含其所有依赖关系.这一切都取决于最终交付的使用方式.
同时,以下两个方面(可能)仍然存在:
parent其POM中的配置引用父项的任何项目.modules可以一次性轻松构建.模块是使用的引用项目modules.module.这通常(我猜> 99%)在父项目中完成,但不一定.你也可以把它放在最终交付项目中(不影响继承,因为那是一个不同的野兽),但它不典型,我不会去那里.