3

我刚刚花了最后一个小时查看 Stackoverflow.com 上的线程,试图将 Maven 项目导入 Spring ToolSuite 2.5.2。

Maven 项目有多个模块,当我使用 STS 中的 Import... 向导导入项目时,Package Explorer 中列出了所有模块,并且某些模块依赖项未解决。

可以就将多模块 Maven 项目导入 STS/Eclipse 以使所有模块出现在父目录下的正确方法提供任何建议吗?那么所有模块的依赖关系都解决了吗?

该项目位于文件系统的层次结构中,我尝试了各种更新依赖项、项目配置选项,但都无济于事。我在 IDE 中安装了嵌入式版本的 Maven。

谢谢你的时间。

4

2 回答 2

9

M2Eclipse 在解决项目间依赖方面做得非常好。如果它不起作用,则可能是您的项目结构有错误。检查:

  • 每个子项目都引用了父项目的正确版本
  • 每个依赖项都有对应于工作区中当前项目版本的版本
  • 每个子项目都<module>在父 pom 中注册为 a(如果在配置文件中定义了模块,则配置文件必须处于活动状态)。

如果这些版本不匹配,则引用的工件将从本地存储库中提取,而不是从 eclipse 工作区中提取。


关于公共根项目:我认为拥有一个公共Project不是一个好主意,但是想到的 Eclipse 概念(以及我用于多模块项目的)是一个Working Set

在包资源管理器中,切换Top Level ElementsWorking Sets

顶级元素 > 工作集

现在Configure Working Sets ...从同一个菜单中选择。

这是一个将 maven3 主干和所有子模块作为单独项目的工作集:

多模块工作集

于 2011-03-07T13:01:14.990 回答
4

丑陋的把戏 - 但有时可以帮助:

  • mvn clean eclipse:clean eclipse:eclipse
  • 像往常一样导入项目 Eclipse 项目
  • 启用 Maven 的依赖管理
  • 对所有模块执行更新项目配置
于 2011-03-09T22:20:51.637 回答