Eclipse + Maven + Git +多模块项目=不快乐

ccl*_*eve 12 eclipse git maven egit multi-module

我们有一个使用Eclipse和Maven的多模块项目.我可以让它在过去工作的唯一方法是为项目使用平面布局,其中父模块是其他模块的对等.这适用于m2eclipse和Subversion.

现在我们想转移到Git和GitHub.我想将整个项目以及所有模块作为GitHub上的单个项目公开.问题是Eclipse/Git插件EGit想要一次管理一个项目,而不是项目组,所以如果你有一个平面布局,你就不能这样做.

正确的答案是使用标准的Maven分层布局,并将父模块和所有模块作为一个单元进行管理.但是Eclipse不喜欢这样,并且没有多少人会让Eclipse接受嵌套项目.m2Eclipse不支持层次结构:https://issues.sonatype.org/browse/MNGECLIPSE-2291

所以你会怎么做?从命令行执行Git并放弃查看Eclipse中哪些文件已更改的功能?还是放弃了Eclipse?

bma*_*ies 12

作为单个git repo的标准Maven多模块结构在Eclipse Indigo中使用M2e和在该环境中显示的git插件非常适合我.你不能要求Eclipse为你提取,但是一旦你从命令行撤出,你就使用Team/Share,比如说'Git!' 一切都很好.

我想我看到了源代码:层次结构是工作区内项目的问题,而不是导入的"现有项目".

这是一个典型的工作流程:

  1. 使用git svn clone获取树.它是一个库存,分层的mvn多模块树
  2. 在eclipse中,使用import/maven/existing maven项目.指着整棵树
  3. 全选

它工作正常.嵌套不会打扰日食.我不知道bz指的是什么问题.

在我使用m2e之前,我使用了maven-eclipse-plugin.它也适用于这些情况,因为它不会为<packaging>pom</packaging>聚合项目生成.project/.classpath ,因此Eclipse永远不会被要求实际嵌套任何东西.

我并不孤单 - 请参阅cxf.apache.org的开发人员设置说明,了解您可以自己尝试的开源示例.