这是我参与11月更文挑战的第1天,活动详情查看:2021最后一次更文挑战
1.什么是聚合工程
如下图所示,拥有父子包结构的springboot工程叫做聚合工程。其中父包包括了多个子包(多个项目)。
2.聚合工程优势
- 组件化管理通用功能,动态的添加功能。
- 统一管理jar包的版本号
- 提高复用性
3.创建聚合工程
- 首先创建一个springboot项目,然后删除src文件夹 。
- 创建子工程
选择spring boot项目,然后继续,创建项目。如果是工具,配置,组件化的项目(不需要启动)可以继续删除启动类和resources文件夹。 - 修改父工程和子工程pom文件。然后聚合工程就搭建好了,这里最重点是pom文件的配置和标签,下文就开始介绍。
4.父工程详解
ps:这里以若依开源项目为例,结构如下,我们主要讲解红框里面的配置,父工程为RuoYi-Cloud,包括ruoyi-auth,ruoyi-gateway,ruoyi-visual,ruoyi-api,ruoyi-common子项目。而ruoyi-modules子工程也包括多个子工程。#
1.pom文件
1 | bash复制代码<?xml version="1.0" encoding="UTF-8"?> |
1 | js复制代码<name><url><description>都是非必须,字面意思。 |
白话说 如果父工程有,且groupId和artifactId相同,那么子工程不需要指定版本号, 直接使用父工程版本号。
例如:当子工程有groupId为org.springframework.cloud时,引用当前父工程指定版本。子工程不用在写版本号了。
1 | js复制代码<!-- SpringCloud 微服务 --> |
1 | js复制代码<modules>:指当前父工程包含的子工程 如果这里不引入 那么 刷新父工程pom时 子工程不会下载jar包 |
5.ruoyi-modules子工程配置
这里我们选择一个最有代表性的子工程ruoyi-modules来介绍。
1.pom文件
1 | js复制代码<?xml version="1.0" encoding="UTF-8"?> |
这里主要配置是
1 | js复制代码<parent>:内容就是父工程的<groupId><artifactId><version> |
2.ruoyi-system子项目配置
1 | bash复制代码<?xml version="1.0" encoding="UTF-8"?> |
1 | js复制代码<parent>:配置父工程ruoyi-modules的<groupId><artifactId><version> |
如果想引入其他工程,只需要加入:
1 | js复制代码 <!-- RuoYi Common DataScope --> |
本文转载自: 掘金