如何制作现有的maven父项目,新创建的maven项目的子项

时间:2018-04-22 22:18:57

标签: java maven maven-3 parent-child parent-pom

我现有的maven项目(名为 projectB )是其他项目(projectC和projectD)的 parent ,我想要 projectB 作为新创建的maven Project的子项(名为projectA)。这是目录结构:

projectA
  -> pom.xml
projectB
  -> pom.xml
projectC
  -> pom.xml
projectD
  -> pom.xml

我的 projectA pom.xml看起来是这样的:

<modules>
    <module>projectB</module>
</modules>

这是 projectB pom.xml看起来:

    <parent>
        <groupId>(groupId of projectA)</groupId>
        <artifactId>projectA</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>
    <modules>
        <module>../projectC</module>
        <module>../projectD</module>
    </modules>

但是当我在 projectA 上执行make clean时,它会给我一个错误:

  

C:\ Users \ projectA \ pom.xml的子模块C:\ Users \ projectB不存在

我搜索过现有的解决方案,但没有人帮我解决问题。

2 个答案:

答案 0 :(得分:0)

由于您的所有项目都处于同一级别,因此您应该:

在项目A中:

<modules>
    <module>../projectB</module>
</modules>

在项目B中:

<parent>
    ...
    <relativePath>../projectA/pom.xml</relativePath>
</parent>

答案 1 :(得分:-1)

项目B的pom.xml中的配置不正确

  <parent>
    <groupId>(groupId of projectB)</groupId>
    <artifactId>projectB</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</parent>

在父部分中,您必须指定项目A而不是B.下面的内容应该有帮助

  <parent>
    <groupId>(groupId of projectA)</groupId>
    <artifactId>projectA</artifactId>
    <version>(Project A version)</version>
</parent>