日食+;Subversion(subclipse)和#x2B;Maven(m2eclipse)多模块项目

日食+;Subversion(subclipse)和#x2B;Maven(m2eclipse)多模块项目,eclipse,svn,maven,Eclipse,Svn,Maven,我有一些相关的遗留项目非常混乱,我想将它们作为subversion上共享的多模块项目进行mavenize(第一个多模块项目,我们总是将它们分开)。有几个关键部分:1)Web服务,2)各种swing客户端,3)模型(来自hibernate的持久性),4)核心JSE任务 我花了几天的时间,试图使用Eclipse(Helios)、Maven(2.2.1)、m2eclipse(0.10.0)和Subversion(1.6)为我们的团队正确设置它。我一直在自找麻烦,或是有随机错误迫使我回过头来。我希望有人

我有一些相关的遗留项目非常混乱,我想将它们作为subversion上共享的多模块项目进行mavenize(第一个多模块项目,我们总是将它们分开)。有几个关键部分:1)Web服务,2)各种swing客户端,3)模型(来自hibernate的持久性),4)核心JSE任务

我花了几天的时间,试图使用Eclipse(Helios)、Maven(2.2.1)、m2eclipse(0.10.0)和Subversion(1.6)为我们的团队正确设置它。我一直在自找麻烦,或是有随机错误迫使我回过头来。我希望有人能帮我一些最佳实践

以下是一些问题:

m2eclipse需要一个“平面”eclipse项目结构。这是否意味着我应该为每个模块创建subversion存储库?如果我执行一个存储库并尝试从父项目签入,那么在嵌套的项目目标(和其他)目录上设置svn:ignore属性将非常困难

如果我对每个存储库执行一个模块,我似乎能够将它们签入ok。那么问题是,通过subclipse结账的最佳方式是什么?有最好的订单吗?首先是父项目还是子项目?我是否需要签出父项目并修改子项目的签出路径以嵌套在文件目录中,这样我就可以从父项目“清理安装”了

或者,我应该放弃subclipse和m2eclipse,并通过命令行签出和运行我的maven目标

或者,我应该只使用与Maven的SCM集成吗。或者,甚至不尝试建立多模块项目

其他人做什么?有没有人有一些文档(我错过了)或链接(谷歌不推荐)


提前感谢您的反馈。

一开始有点棘手。我通常看到的it设置是这样的:

在颠覆中:

- Parent Project
-- Module A
--- pom.xml (module A)
-- Module B
--- pom.xml (module B)
-- Module c
--- pom.xml (module C)
-- pom.xml (parent project)
需要注意的事项(您已经知道):

  • 你必须有孩子的项目 在父级中作为模块列出 计划
  • 您必须列出父项目 在您的孩子pom中(作为父母 组、工件、版本)
  • 当您从中签出项目时 svn,你需要做“退房手续” maven项目,而不是 标准的“退房”(这个可以是 (答)
我希望这有帮助

m2eclipse需要一个“平面”eclipse项目结构

嗯,m2eclipse支持AFAIK嵌套项目(或者至少导入嵌套项目结构)。我不使用Eclipse向导来创建我的项目,所以我可能不知道什么

这是否意味着我应该为每个模块创建subversion存储库

不,不,绝对不会,我不会那样做(这将很难维持)。但是,根据您的项目发布周期,您可能必须考虑存储库的布局(单主干/标记/分支与多主干/标记/分支),特别是如果您计划使用maven发布插件。如果有些片段有独立的发布周期,那么我会选择几个主干/标签/分支。如果您总是将它们一起发布(作为单个产品),那么应该由单个主干/标签/分支来完成。我就可能感兴趣的话题写了几个答案:

如果我执行一个存储库并尝试从父项目签入,那么在嵌套的项目目标(和其他)目录上设置svn:ignore属性将非常困难

具体问题是什么

如果我对每个存储库执行一个模块,我似乎能够将它们签入ok。那么问题是,通过subclipse结账的最佳方式是什么?有最好的订单吗?首先是父项目还是子项目?我是否需要签出父项目并修改子项目的签出路径以嵌套在文件目录中,这样我就可以从父项目“清理安装”了

无论您做出什么选择(是否有多个存储库,是否有多个主干/标记/分支),都应该能够一次性签出整个项目结构(如果需要,使用
svn:externals
)。至少,你应该试着让它成为可能(确实如此,请参阅上面的链接)

但我重复一遍,我不建议使用多个存储库(除非您需要独立的修订号),也没有什么强迫您这样做

或者,我应该放弃subclipse和m2eclipse,并通过命令行签出和运行我的maven目标

我成功地使用了Eclipse、m2eclipse和subclipse,所有这些都集成良好(至少对于构建和“签入”部分)。但是我在命令行上进行初始导入和初始签出,然后导入

或者,我应该仅仅使用与Maven的SCM集成吗

我不用它,我不需要它

或者,甚至不尝试建立多模块项目

没有理由禁止使用多模块项目设置,它们是Maven的关键部分之一

其他人做什么?有没有人有一些文档(我错过了)或链接(谷歌不推荐)


看看我发布的链接:)

谢谢!我会检查那些链接。如果我共享父项目,我可以成功地svn:忽略父项目中的目标、.settings、.classpath等。所有子项目的svn:ignore都显示为灰色。修改后,我可以忽略子项目的唯一方法是对父项目执行完整提交,然后删除我要忽略的子项目中的目录,然后提交,然后svn:ignore选项可用,我可以忽略它们以供将来提交。你也注意到了吗?再次感谢您提供的信息性回复。作为补充说明,您需要从M2Eclipse更新站点为“签出为”添加“Maven SCM Handler for Subclipse”