父pom是在其子级的同一groupid下创建还是在其自己/父级下创建?

时间:2014-02-24 23:44:55

标签: maven project-management pom.xml

您好我想知道创建父pom的做法。所以

1.Parent pom

<groupId>my.code</groupId>
<artifactId>project</artifactId>
<version>0.0.1-SNAPSHOT</version>

然后是孩子

<parent>
    <groupId>my.code</groupId>
    <artifactId>project</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</parent>
<groupId>my.code.project</groupId>
<artifactId>child-A</artifactId>

2.Parent pom

<groupId>my.code.project</groupId>
<artifactId>project-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>

然后是孩子

<parent>
    <groupId>my.code.project</groupId>
    <artifactId>project-parent</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</parent>
<artifactId>child-A</artifactId>

任何一个或另一个背后的原因?或者只是个人品味? 谢谢

2 个答案:

答案 0 :(得分:4)

任何一个都可以工作,尽管我使用groupId来指代拥有工件的公司或组织。由于拥有父工件的公司通常拥有子工件,我希望在父母和子poms之间看到相同的groupId。因此我会使用第二种结构。

答案 1 :(得分:4)

通常,如果您只有一个级别的文件夹结构,请执行以下操作:

 +-- root (pom.xml)
      +--- mod1 (pom.xml)
      +--- mod2 (pom.xml)
      +--- mod3 (pom.xml)

我建议只使用与com.company.project相同的groupId。但如果你是这样的多层次结构:

 +-- root (pom.xml)
      +--- mod1 (pom.xml)
      !      +-- mod11 (pom.xml)
      !      +-- mod12 (pom.xml)
      +--- mod2 (pom.xml)
      !      +-- mod21 (pom.xml)
      !      +-- mod22 (pom.xml)
      +--- mod3 (pom.xml)

root groupId我会建议com.company.project。比我在mod1中使用不同的groupId,如com.company.project.part1等,以及mod2 com.company.project.part3等。