必须将父工程pom.xml的packaging改为pom,再依次创建module-a和module-b子模块并正确配置modules和依赖,最后通过clean→install验证构建顺序与依赖生效。

要在IntelliJ IDEA中搭建一个可维护、可独立编译的多模块Maven父子工程,必须从父工程结构入手,避免后期模块间依赖错乱或构建失败。
创建空父工程(Maven方式)
打开IntelliJ IDEA → 选择 New Project → 左侧选 Maven → 取消勾选 Create from archetype → 点击 Next。
GroupId填公司或组织域名倒写(如com.example),ArtifactId设为父工程名(如my-parent),Version用1.0.0-SNAPSHOT即可 → 点击 Next → 命名项目名和路径后点 Finish。
IDEA会自动生成pom.xml,此时需手动将<packaging>标签内容改为pom,否则子模块无法被正确识别为模块化结构。【不改会导致后续添加子模块时IDEA不显示“Add as Maven project”选项】
添加子模块(module-a)
在Project视图中,右键父工程根目录 → New → Module → 选左侧 Maven → 同样取消勾选 Create from archetype → Next。
GroupId继承父工程(如com.example),ArtifactId设为module-a,Version留空(自动继承父POM中定义的<version>)→ Next → 路径自动设为my-parent/module-a(不可改到父工程目录外)→ Finish。
完成后,父工程pom.xml里应自动追加<modules><module>module-a</module></modules>。若未出现,需手动补全——这是子模块能被Maven聚合构建的前提。
添加子模块(module-b)并配置依赖关系
方法一:重复上述“添加子模块”流程,新建module-b,确保其路径为my-parent/module-b。
方法二:直接在终端执行命令快速生成(适合熟悉Maven命令者):mvn archetype:generate -DgroupId=com.example -DartifactId=module-b -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false,再通过 File → Project Structure → Modules → + → Import Module 加载该目录。
让module-b依赖module-a:打开module-b/pom.xml,在<dependencies>内添加:
<dependency><br> <groupId>com.example</groupId><br> <artifactId>module-a</artifactId><br> <version>${project.version}</version><br></dependency>
注意:这里${project.version}必须与父POM中统一声明的版本一致,否则Maven解析时会报Could not find artifact错误。
验证父子模块是否正常联动
第一步:点击右侧 Maven 面板 → 展开父工程 → 双击 Lifecycle 下的 clean。
第二步:接着双击 install(不要跳过clean)→ 观察控制台输出,应依次构建my-parent → module-a → module-b,且无Could not resolve dependencies报错。
第三步:在module-b中新建一个Java类,尝试import com.example.modulea.*下的类——如果代码补全可用、无红色波浪线,说明依赖已生效。
















