【问题标题】:Trouble importing multi module maven project in to Eclipse (STS 2.5.2)将多模块 Maven 项目导入 Eclipse (STS 2.5.2) 时遇到问题
【发布时间】:2011-07-10 08:12:31
【问题描述】:

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

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

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

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

感谢您的宝贵时间。

【问题讨论】:

    标签: java eclipse maven-2 maven sts-springsourcetoolsuite


    【解决方案1】:

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

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

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


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

    在 Package Explorer 中,将 Top Level Elements 切换为 Working Sets

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

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

    【讨论】:

    • M2Eclipse 是默认安装在 STS 中的,应该说对不起。至于可能的错误,我已经通过模块中的 pom.xml 文件,它们似乎都很好。
    • @C0deAttack 我知道,抱歉我不清楚。我不是要你安装 m2eclipse,而是要寻找不好的版本。如果版本不匹配,这是 m2eclipse 中的一个已知问题
    • 我不知道如何,但是在命令行上执行“mvn clean package”然后“导入现有的 Maven 项目”到 STS 之后,依赖关系已经解决了。仍然不确定如何使所有模块出现在 1 个公共根项目目录下??
    【解决方案2】:

    丑陋的把戏 - 但有时会有所帮助:

    • mvn clean eclipse:clean eclipse:eclipse
    • 像往常一样导入项目 Eclipse 项目
    • 启用 Maven 的依赖管理
    • 对所有模块执行更新项目配置

    【讨论】:

      猜你喜欢
      • 2018-10-15
      • 2018-02-11
      • 2012-12-16
      • 2013-09-02
      • 2021-09-03
      • 2011-01-26
      • 2011-03-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多