我为公司创造了一个超级pom。这个超级pom设置我们的 site 目标,包括默认版权声明,以及我们使用的标准工具,如PMD,Checkbugs,JavaDocs,CPD和JaCoCo。我们还在罐子和战争中添加了额外的META-INF条目。
要使用这个超级pom,我们在所有项目中将其设置为父级:
<project>
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.veggiecorp</groupId>
<aartifactId>super_pom</artifactId>
<version>1.5</version>
</parent>
<groupId>com.veggiecorp</groupId>
<artifactId>myproject</artifactId>
<version>1.2.2</version>
....
</project>
这对我们来说非常有效,直到一组项目开始使用Spring Boot。使用Spring Boot jar的Maven项目需要Spring Boot父pom:
<project>
<modelVersion>4.0.0</modelVersion>
<parent>
<!-- Your own application should inherit from spring-boot-starter-parent -->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.3.1.RELEASE</version>
</parent>
<groupId>com.veggiecorp</groupId>
....
</project>
Maven项目不能拥有多个父母poms,我也不知道我们可以使用的机制来使用我们的Super Pom和Spring Boot的父pom,其中包含所有版本号在项目中使用的罐子。
如何在同一个应用程序中同时包含我公司的超级pom和Spring Boot父pom。
注意:有许多这些Spring Boot应用程序,它们现在都是单独的项目。我不能轻易地将它们变成一个层次结构,在这个层次结构中,它们有一个父pom,它有另一个父pom。
这样做的最佳方式是什么?