我为我们公司创建了一个超级 pom。这个超级 pom 设置了我们的网站目标,包括默认版权声明,以及我们使用的标准工具,如 PMD、Checkbugs、JavaDocs、CPD 和 JaCoCo。我们还在 jars 和 wars 中添加了额外的 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 项目不能有多个父 pom,而且我不知道我们可以使用哪种机制来使用我们的 Super Pom 和 Spring Boot 的父 pom,其中包含项目中使用的所有 jar 的版本号。
如何在同一个应用程序中同时包含我公司的超级 pom 和 Spring Boot 父 pom。
注意:有很多这样的 Spring Boot 应用程序,它们现在都是独立的项目。我不能轻易地将它们变成一个层次结构,其中它们有一个父 pom 有另一个父 pom。
做这个的最好方式是什么?