在多项目构建中,似乎有几种方法来构建父poms,我想知道是否有人对每种方法的优点/缺点有任何想法。
拥有一个父pom的最简单的方法是将它放在项目的根目录中。
myproject/
myproject-core/
myproject-api/
myproject-app/
pom.xml
pom.xml既是父项目,也描述了-core -api和-app模块
下一个方法是将父目录分离到它自己的子目录中,如
myproject/
mypoject-parent/
pom.xml
myproject-core/
myproject-api/
myproject-app/
父pom仍然包含模块,但它们是相对的,例如../myproject-core
最后,还有一个选项,其中模块定义和父模块是分开的
myproject/
mypoject-parent/
pom.xml
myproject-core/
myproject-api/
myproject-app/
pom.xml
父pom包含任何“共享”配置(依赖管理,属性等),myproject/pom.xml包含模块列表。
其目的是可扩展到一个大规模的构建,因此应该可扩展到大量的项目和工件。
一些额外的问题:
编辑:每个子项目都有自己的pom.xml,为了简洁起见,我省略了它。