1

我正在 Eclipse 中创建我的第一个分层多模块项目:

 /project
    pom.xml
      (...)
      <groupId>a.b.c</groupId>
      <artifactId>myProject</artifactId>
      <version>1.0-SNAPSHOT</version>
      <packaging>pom</packaging>
      <modules>
        <module>x</module>
        <module>y</module>
      </modules>
    /x
      pom.xml
        (...)
        <parent>
          <artifactId>myProject</artifactId>
          <groupId>a.b.c</groupId>
          <version>1.0-SNAPSHOT</version>
        </parent>    
      /src
      .project
    /y
      pom.xml
        (...)
        <parent>
          <artifactId>myProject</artifactId>
          <groupId>a.b.c</groupId>
          <version>1.0-SNAPSHOT</version>
        </parent>    
      /src
      .project

理想情况下,我希望在我的 Eclipse 工作区中看到三个文件夹:

  /project
    pom.xml
  /x
    pom.xml
    src
    .project
  /y
    pom.xml
    src
    .project
  • x 和 y 会在项目文件夹中找到父 pom.xml。我将能够作为 maven 项目独立处理它们。

  • 项目将只包含父 pom.xml

至少这是我对在这个项目上工作如何实用的直觉。

我在 SVN 中提交了我的代码,我可以通过使用“在所选资源的子项中查找项目”选项进行 SVN 检出来接近该结构(只要父项目文件夹中没有 .project 就可用)。这会在我的工作区中创建项目 x 和 y,但由于缺少父 pom.xml,我会遇到编译错误。我可以通过将父 pom.xml 单独放在工作区中来消除这些错误,但这似乎不是一个干净的解决方案。

我想我的问题的一种解决方案是将我的结构展平一些并在与 x 和 y 以及我的父 pom.xml 和 .project 文件相同的级别创建一个“父”文件夹,但看起来很奇怪为了让 Eclipse 开心,将父母与孩子置于同一水平。我在网上找到的最接近答案的是http://warpedjavaguy.wordpress.com/2011/08/08/how-i-defeated-the-maven-release-plugin-in-a-flat-structured-multi- module-project/,它似乎以类似的方式解决了这个问题。

我缺少更好的方法吗?

PS:我有m2e。

4

1 回答 1

0

我想我在这里回答我自己的问题。

  • 我检查了 Eclipse 之外的项目。
  • 然后我作为 Maven 项目导入

我得到了我所期望的视图:即我的工作区中有 4 个文件夹(一个用于父级,3 个用于每个子级)。不知何故,我记得有一个选项可以在我以前版本的 Eclipse 中一步完成(即检出和导入)。它被称为“Check out as maven project”,它似乎随着 Juno 消失了。或者也许我错过了正确的插件(我安装了 m2e 以及 Subversive;可能是另一个 svn 插件而不是颠覆性的)。

于 2013-01-08T20:08:02.597 回答