0

我一直在玩这个并且找不到合适的方法来做到这一点。这是我的设置:

/parent
  pom.xml
    <modules>
      <module>../module-1</module>
      ...
      <module>../module-n</module>
    </modules>
    <scm><connection>https://repo/trunk</connection>...</scm>
/module-1
  pom.xml
...
/module-n
  pom.xml

当我签出父模块时,我期待 eclipse 签出所有子模块项目。这在平面项目层次结构中可能吗?

4

2 回答 2

1

give 结构意味着您的 module-1 与父级处于同一级别,这在 Eclipse 和 Maven 中都没有意义。最好的方法是按如下方式构建项目:

 +-- parent (pom.xml)
        +-- module-1 (pom.xml)
        +-- module-2 (pom.xml)

使用这样的结构,您可以简单地检查父级并获得您需要使用的所有内容。除此之外,它将使您的 pom 文件特别是模块部分更简单,可以这样做:

<modules>
  <module>module-1</module>
  ..
  <module>module-n</module>
</modules>

而您的孩子只需像这样使用父母:

   <parent>
     <groupId>..</groupId>
     <artifactId>..</artifactId>
     <version>...</version>
   </parent>
于 2013-10-18T08:57:57.543 回答
1
  • 如果您的子模块不能独立于它们的聚合项目而存在,那么按照@khmarbaise 的回答中所建议的那样,迁移到分层结构可能会更好。
  • 如果您的项目是真正独立的项目,请考虑将它们作为库处理并将它们与聚合器项目分开;这意味着单独发布它们并使用您的聚合器将它们组装为战争或 zip 文件发布。
  • 如果您有点卡在中间,因为您希望能够单独使用您的子模块,但是您同时开发所有子模块并且您使用 Subversion 进行版本控制,您可能会挂钩通过 Subversion 的外部机制,您的子模块到您的聚合器。这比拥有一个单一的、多模块的存储库需要更多的工作,但它对于使用 Eclipse 来说相当方便。缺点是据我所知 Maven Release 插件无法处理此配置。
于 2013-10-18T09:15:23.147 回答