Spring Boot多模块项目打包
Spring Boot多模块项目打包流程
基于 JDK 1.8 + Spring Boot 2.x 的 Maven 多模块项目。
📁 模块结构
spring-multi-demo
├── pom.xml # 父工程
├── common # 公共模块
├── service-api # 服务接口定义
├── service-impl # 服务实现(依赖 api + common)
└── web # 启动模块(依赖 impl)
🚀 打包命令
mvn clean install -DskipTests
解释如下:
1️⃣ clean
清理项目:
- 删除所有模块下的
target/目录 - 清空上一次构建的中间产物,确保构建干净
- 本质等同于执行
rm -rf */target,但更智能
2️⃣ install
编译 + 打包 + 安装:
- 编译源代码:
compile生命周期 - 打包 jar/war:
package生命周期 - 安装到本地仓库(
~/.m2/repository):供其他模块使用,install生命周期 - 多模块构建时,Maven 会自动按依赖顺序构建每个子模块
3️⃣ -DskipTests
跳过测试阶段:
- 不执行
src/test/java下的单元测试 - 不编译测试类,也不运行它们
- 常用于快速构建部署产物
- ⚠️ 注意不是
-Dmaven.test.skip=true,后者会跳过测试编译和执行,略有不同
🎯 打包结果
执行完后,目标产物生成路径如下:
web/target/web-1.0.0.jar
这是最终的可执行主模块。运行方式:
java -jar web/target/web-1.0.0.jar
默认监听在 8080 端口,可通过 application.yml 修改。
🔄 多模块依赖说明
web依赖service-implservice-impl依赖service-api和common- 所有模块依赖由父级
pom.xml管理版本与依赖顺序 install会自动将构建好的模块临时放入本地仓库,供后续模块使用,无需手动打包依赖
✅ 小贴士
- 模块过多时,可用
-T 4开启并行构建:mvn -T 4 clean install -DskipTests - 如果只想打包
web模块:mvn clean install -pl web -am -DskipTests - 建议始终从根模块执行构建,避免漏包或依赖缺失
IDEA界面打包

如果这篇文章对你有用,可以关注本人微信公众号获取更多ヽ(^ω^)ノ ~


浙公网安备 33010602011771号