Maven程序集:多个pom文件/不同的构建

时间:2015-12-05 23:19:12

标签: java maven

我们小组已经将三个不同项目的共享依赖项重构为一个新项目,这个项目现在是三个项目的唯一依赖项。我们使用maven-jar而不是使用maven-assembly编译这三个项目。这会产生一个小得多的jar文件,可以更快地部署。

现在,对于我们的Spring项目,存在独特的依赖(spring-boot,mockito等)。我们想将这些重构为共享项目,但是想要共享项目的单独构建,一个用于具有共享依赖项的三个项目,一个用于Spring项目。

我认为创建一个pom.spring.xml基本上是pom.xml的副本加上Spring依赖项就可以了,但这没有用。我看到Maven已经构建了profiles,但是我没有看到如何将依赖关系扩展到不同的构建。

关于我们如何实现这一目标的任何建议,缺少两个不同的共享项目?

1 个答案:

答案 0 :(得分:0)

很简单,您应按如下方式构建产品

Project-Parent
  pom.xml - Shared parent pom. This pom declares the shared dependencies, and has project1, project2, and project2 as submodules.
  project1
    pom.xml - has the shared parent pom as its parent. 
  project2
    pom.xml - has the shared parent pom as its parent. 
  project3
    pom.xml - has the shared parent pom as its parent. 

SpringProject
  pom.xml - Spring project pom.  Has the shared parent pom as its parent.  Declares addition dependencies required for the spring project. 

这样,project1,project2和project3属于同一个版本。 SpringProject是一个单独的构建,但它继承自共享父代。