【发布时间】:2011-01-04 21:54:13
【问题描述】:
我有一个多模块 maven 项目,目录结构是分层的。一些模块依赖于其他模块。我已将依赖模块添加到项目 POM 的依赖部分。但是,为了解决这些依赖关系,我需要导入父项目,然后选择 Project Properties > Maven 并选择“Enabled Modules”。这是正常的吗?为什么项目不直接解析工作区中的依赖项目?
谢谢, 杰夫
【问题讨论】:
标签: maven-2 m2eclipse multi-module
我有一个多模块 maven 项目,目录结构是分层的。一些模块依赖于其他模块。我已将依赖模块添加到项目 POM 的依赖部分。但是,为了解决这些依赖关系,我需要导入父项目,然后选择 Project Properties > Maven 并选择“Enabled Modules”。这是正常的吗?为什么项目不直接解析工作区中的依赖项目?
谢谢, 杰夫
【问题讨论】:
标签: maven-2 m2eclipse multi-module
但是,为了解决这些依赖关系,我需要导入父项目,然后选择 Project Properties > Maven 并选择“Enabled Modules”。这正常吗?
没有。当您导入项目时,展开 Advanced 部分并确保选中 Resolve Workspace projects(虽然这应该是默认设置)。 您还可以在项目级别更改此设置。只需右键单击项目,选择Properties > Maven并确认Resolve dependencies from Workspace projects被选中。
更新:回答 OP 在评论中提出的问题。来自https://docs.sonatype.org/display/M2ECLIPSE/Dependency+Management 关于包含模块:
启用后,来自所有嵌套模块的依赖项将添加到“Maven 依赖项”容器中,并且在运行“更新源”操作时,来自嵌套模块的源文件夹将添加到当前项目构建路径中。 当您将多个 Maven 项目作为单个 Eclipse 项目导入时启用此选项,例如在project import wizards 中关闭“为模块分离项目”选项时。
【讨论】: