2011-10-27 40 views
3

我已经试过张贴在Eclipse的Maven的论坛,这个问题,但它看起来很文静有所以这里去...如何从SVN将多模块Maven项目导入到Eclipse(Indigo)中,以便可以独立构建子模块?

我的设置: -eclipse靛蓝的Java EE包 -m2e -Subversive

我们在我们的回购中有一个相当简单的多模块maven项目。它有一个父项目/ pom和3个子项目/ poms。

我正在导入的步骤: 1)我通过使用“import-> import - > - > Maven->从SCM检出Maven项目”来导入项目。

2)在接下来的对话框中选择我作为svn的单片机URL类型并输入URL回购的其余部分。我保留勾选“Checkout Head Revision”和“Checkout all Projects”的复选框,并在“advanced”下保留复选框“Resolve Workspace Conflicts”。我不会在“个人资料”或“名称模板”下输入任何内容。

3)在接下来的对话框我保留选中“使用默认的工作空间位置”,并留下“添加项目(县)工作组”选中,然后单击“完成”。

4)我等了一分钟左右,出现下一个对话框。它要求我选择maven项目,并且应该有一个文件结构 - 父项目/ pom和3个子项目/ poms,并在所有4项旁边都有一个复选框。我试图选择只是父母,只是孩子或所有4没有成功。

5)当我选择只是家长和取消选中上面的孩子,该项目似乎是进口的。父项出现在项目浏览器中,并且这三个子项显示为父项的子文件夹,每个文件夹都有一个pom。

6)如果我右击父母,我得在上下文菜单中一个Maven项目,确实是我能“跑原样> Maven构建,安装等。”仅在母公司。 Child项目没有这样的Maven上下文菜单,也没有“作为 - > Maven x运行”的能力。

如果我尝试导入所有4个项目在上面的步骤4,它具有相同的结构导入上述5但还表现为独立的“独立”的Maven项目(错误)的儿童概述。

最终,我只想导入多模块Maven项目,并能够将其部署到我的Eclipse Tomcat安装中,所以如果我在其中一个子项目(称为前端)中更改文件,更改将快速部署我可以在浏览器中查看效果。

非常感谢您对此问题的所有帮助!我很乐意回答任何进一步的问题,以帮助解决问题。

回答

0

我大概在我最初的问题中解释了这个问题。主要问题是我无法将多模块maven项目的webapp组件部署到Tomcat。我做了几个基本的错误:

  • 我进口父项目而不选择孩子,假设Maven的会得到所有这些,这就够了,但它确实没有,我不得不选择父和所有孩子从svn导入Maven项目时。

  • 然后我没有将项目的webapp部分转换为分面类型,并且未能选择“动态web应用程序”。我需要(据一位同事说)选择2.5版以避免与旧的servlet容器不兼容。 (不知道这与Tomcat 6的相关性,这是我使用的)。

一旦这样做是我父项目和3子文件夹,并在自己的权利出现在项目资源管理器还3个个子项目(但文件系统上,他们所有的父项目下存在的,因为它应该是)。然后,我可以右键单击webapp模块(eclipse项目浏览器项目,而不是子文件夹),然后运行Maven项目(清理,构建等)。

然后我可以右键单击并“在服务器上运行”。发布各种不同步的文件时发生错误。我刚刚在eclipse中刷新了子项目,然后他们将成功发布。

Eclipse有这么多的版本,有这么多的不兼容的插件等,它被混淆非常快,大量的教程都非常具体到特定版本等

感谢您的帮助反正家伙。

0

我的项目偶尔也会失去这种能力(尽管他们在导入后立即拥有)。通常它有助于刷新Maven配置,刷新/清理项目或重新启动Eclipse。请注意,它仍然可以运行很长的路,所以“运行 - >运行配置 - > Maven”。

我跑赫利俄斯SR 2,M2E 1.0.0.20110607-2117。

+0

然而,问题立即出现。我发现了一位同事的灵魂。我所做的错误不是将子项目转换为分面项目(动态webapp)并选择2.5版本。在我这样做后,我能够在服务器上运行(这正是我真正需要做的 - 我对它的解释很差)。感谢你们两位回答 - 第一次使用SO,那么我该如何正确地“结束”这个问题? –

+0

@PhilipMurphy由于没有任何答案证明有帮助,所以最值得欢迎的事情是自己回答问题并接受答案。 – MaDa

+0

干杯马达,会做。 –

0

很确定每个模块都必须拥有自己的.project设置,您需要提交。

0

是否安装了m2e WTP的扩展?至少在理论上这应该是一个更好的选择,而不是修改Maven/m2e控件之外的项目设置。

+0

嗨Nicola,是的,我已经在开始时安装了WTP的m2e扩展。谢谢。 –

+0

其实我提到它希望@FredBricon会加入;-) –