3

我曾尝试在 Eclipse Maven 论坛上发布这个问题,但那里似乎很安静,所以这里......

我的设置:-Eclipse Indigo Java EE bundle -m2e -Subversive

我们的 repo 上有一个相当简单的多模块 maven 项目。它有一个父项目/pom 和 3 个子项目/pom。

我要导入的步骤: 1) 我使用“import->import->->Maven->Check out Maven Projects from SCM”导入项目。

2) 在下一个对话框中,我选择 svn 作为 SCM URL 类型并输入其余的 repo URL。我选中了“Checkout Head Revision”和“Checkout all Projects”复选框,在“advanced”下,我也选中了“Resolve Workspace Conflicts”复选框。我没有在“配置文件”或“名称模板”下输入任何内容。

3)在下一个对话框中,我选中“使用默认工作区位置”并取消选中“将项目添加到工作集”,然后单击“完成”。

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

5)当我只选择父级并取消选中上面的子级时,项目似乎已导入。父项出现在项目资源管理器中,三个子项显示为父项的子文件夹,每个子文件夹都有一个 pom。

6)如果我右键单击父项,我会在上下文菜单中获得一个 Maven 项,实际上我可以“运行为-> Maven 构建、安装等。”仅在父项上。子项目没有这样的 Maven 上下文菜单,也没有“运行为->Maven x”的能力。

如果我尝试在上面的步骤 4 中导入所有 4 个项目,它会以与上面 5 中概述的相同结构导入,但子项另外显示为单独的“独立”Maven 项目(有错误)。

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

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

4

4 回答 4

0

我可能在最初的问题中解释得很差。主要问题是我无法将多模块maven项目的webapp组件部署到Tomcat。我犯了几个基本错误:

  • 我在没有选择子项目的情况下导入父项目,假设 Maven 会全部获取它们就足够了,但事实并非如此:当从 svn 导入为 Maven 项目时,我必须选择父项目和所有子项目。

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

完成此操作后,我的父项目和 3 个子文件夹以及 3 个子项目本身就出现在项目资源管理器中(但在文件系统上,它们都存在于父项目下,应该如此)。然后我可以右键单击 webapp 模块(eclipse 项目资源管理器项目,而不是子文件夹)并作为 Maven 项目运行(清理、构建等)。

然后我可以右键单击并“在服务器上运行”。在发布有关各种文件不同步的错误时,我遇到了错误。我刚刚在 Eclipse 中刷新了子项目,然后它们就会成功发布。

Eclipse 有很多版本,有很多不兼容的插件等,很快就会让人感到困惑——很多教程都高度特定于特定版本等。

无论如何,感谢您的帮助。

于 2011-10-28T10:22:32.423 回答
0

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

我正在运行 Helios SR 2,m2e 1.0.0.20110607-2117。

于 2011-10-27T11:57:31.457 回答
0

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

于 2011-10-27T12:18:57.527 回答
0

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

于 2011-10-28T10:33:34.853 回答