Java 如何使现有maven父项目、新创建的maven项目的子项目
我有一个名为projectB的现有maven projectB,它是其他ProjectsprojectC和projectD的父项目,我想使projectB成为新创建的名为projectA的maven projectA的子项目。这是目录结构:Java 如何使现有maven父项目、新创建的maven项目的子项目,java,maven,maven-3,parent-child,parent-pom,Java,Maven,Maven 3,Parent Child,Parent Pom,我有一个名为projectB的现有maven projectB,它是其他ProjectsprojectC和projectD的父项目,我想使projectB成为新创建的名为projectA的maven projectA的子项目。这是目录结构: projectA -> pom.xml projectB -> pom.xml projectC -> pom.xml projectD -> pom.xml 以下是projectA的pom.xml的外观: 但当我在
projectA
-> pom.xml
projectB
-> pom.xml
projectC
-> pom.xml
projectD
-> pom.xml
以下是projectA的pom.xml的外观:
但当我在projectA上执行make clean时,它会给我错误:
C:\Users\projectA\pom.xml的子模块C:\Users\projectB不存在
我已经搜索了现有的解决方案,但没有一个能帮助我解决问题。项目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>
由于您的所有项目都处于同一级别,因此您应该: 在项目A中:
<modules>
<module>../projectB</module>
</modules>
在项目B中:
<parent>
...
<relativePath>../projectA/pom.xml</relativePath>
</parent>
@苏米特请把问题再读一遍。父pom文件怎么会有父标记?@RajjatDadwal你是说B也是a的子文件,尽管它也是C和D的父文件?在这种情况下,您必须在B的pom.xml中指定其子项或模块以及父项。如果我在这里遗漏了什么,请告诉我。@RameshKumar:Project B是Project C的父项pom,但也是Project A的子项pom,因此sumit singh是对的,项目B的POM需要一个引用项目a的POM的父节。@Sumitsing抱歉,我编辑了这个。实际上,在我的真实代码中,它是正确的。我只是在邮件中犯了个错误。但它仍然给出了相同的错误。@RajjatDadwal所以你能至少删除我回答的否决票吗?我改变了这一点:它给出了错误,表明模块试图在projectA中找到ProjectB。C:\Users\projectA\pom.xml的子模块C:\Users\projectB\..\projectA不存在exist@RajjatDadwal您确定此错误消息正确吗?没有打字错误?您的项目A本身就是一个子模块,这毫无意义。也许最好是显示真正的错误消息。您是否也可以添加项目C的POM的父部分?它是否包含relativePath元素?
<modules>
<module>../projectB</module>
</modules>
<parent>
...
<relativePath>../projectA/pom.xml</relativePath>
</parent>