maven构件子模块步骤及注意事项

一、创建父工程

父工程可以是顶级父工程,也可以是在父工程下,父工程的packaging需要设置为pom;父工程下的子级父工程,主要作用是模块聚合,即继承父工程和modules聚合,没有src文件,pom文件也不做依赖版本控制

XML 复制代码
  <!--父工程的packaging都是pom,无论是顶级父工程还是模块的父工程    -->
    <packaging>pom</packaging>

二、在子工程中引入parent

XML 复制代码
    <parent>
        <groupId>com.xuecheng</groupId>
        <artifactId>xuecheng-plus-parent</artifactId>
        <version>0.0.1-SNAPSHOT</version>
        <!--基于当前pom.xml找到父工程,   ../上一级目录-->
        <relativePath>../xuecheng-plus-parent</relativePath>
    </parent>

如果该工程是父工程的平级工程(即父工程和子工程的文件夹均在同一个目录下),则需要显示指出父工程的pom.xml的位置(如上所示../表示上一级目录),如果是平级工程则不需要,可以省略relativePath标签

三、在父工程中添加modules标签,说明子工程

XML 复制代码
    <modules>
        <module>xuecheng-plus-content-api</module>
        <module>xuecheng-plus-content-model</module>
        <module>xuecheng-plus-content-service</module>
    </modules>

此标签在父工程的pom.xml中表示子模块的位置,标签内元素为<module>。以当前父工程所在的文件夹为基准,<module>中填写子模块的相对路径;

如果是父工程文件夹下的子工程,则直接填写其文件夹名即可

四、子工程之间的相互调用,通过添加依赖实现,并且依赖可以传递

XML 复制代码
<!--  api依赖service,service依赖model,model依赖base,base依赖parent,依赖传递-->
        <dependency>
            <groupId>com.xuecheng</groupId>
            <artifactId>xuecheng-plus-content-service</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
相关推荐
lee_curry5 小时前
第四章 jvm中的垃圾回收器
java·jvm·垃圾收集器
QQ1__8115175155 小时前
Spring boot名城小区物业管理系统信息管理系统源码-SpringBoot后端+Vue前端+MySQL【可直接运行】
前端·vue.js·spring boot
钛态5 小时前
前端微前端架构:大项目的救命稻草还是自找麻烦?
前端·vue·react·web
一粒黑子5 小时前
【实战解析】阿里开源 PageAgent:纯前端 GUI Agent,一行JS让网页支持自然语言操控
前端·javascript·开源
独角鲸网络安全实验室5 小时前
2026微信小程序抓包全解析:从实操落地到合规风控,解锁前端调试新范式
前端·微信小程序·小程序·抓包·系统代理绕过·https证书严格校验·进程隔离
紫微AI5 小时前
前端文本测量成了卡死一切创新的最后瓶颈,pretext实现突破了
前端·人工智能·typescript
GISer_Jing5 小时前
AI前端(From豆包)
前端·aigc·ai编程
IT枫斗者5 小时前
前端部署后如何判断“页面是不是最新”?一套可落地的版本检测方案(适配 Vite/Vue/React/任意 SPA)
前端·javascript·vue.js·react.js·架构·bug
测试修炼手册5 小时前
[测试技术] 深入理解 JSON Web Token (JWT)
前端·json
AI老李5 小时前
2026 年 Web 前端开发的 8 个趋势!
前端