Maven父项目自动化

时间:2017-07-11 12:43:06

标签: maven build automation

我有这个结构

          **** child C

家长(A)

          **** child B

如果我尝试在没有父项的情况下安装子B,maven会抛出一个错误,我知道按照惯例,我应该在我的存储库中安装父服务器,但有没有办法让某人拉动孩子并在安装过程中,自动安装Parent?

@edit 我将尝试更清楚,我有一个依赖于项目A的项目B(项目A是父项,与项目B中相同)我希望能够在项目B中构建,而不需要存在A我的'本地'(m2>存储库)存储库,我想某种方式,从B也安装A,这样一个将在B上行动的开发人员不必手动安装A

1 个答案:

答案 0 :(得分:2)

长话短说:不。(不是直接,至少。)

您无法从另一个项目(但来自aggregator/multi-module项目或使用Maven Invoker Plugin或Groovy或Ant脚本等运行项目的构建。但当时在你的情况下你执行后者之一,依赖解析已经完成,并且会失败。)

你可以反过来这样做:

+- aggregator
   +- pom.xml: <packaging>pom, <module>parent (A), <module>child B
   |
   +- parent (A)
   |  +- pom.xml
   |
   +- child B
   |  +- pom.xml: <parent>parent (A), <relativePath>../parent (A), <dependency>parent (A)
   |
   +- child C
      +- pom.xml: <parent>parent (A), <relativePath>../parent (A)

构建aggregator按此顺序构建parent (A)child B,因为Maven Reactor会识别child Bparent (A)的依赖关系。