springboot聚合工程讲解与部署

您所在的位置:网站首页 springboot详细讲解 springboot聚合工程讲解与部署

springboot聚合工程讲解与部署

2023-03-24 03:03| 来源: 网络整理| 查看: 265

这是我参与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文件 4.0.0 com.ruoyi ruoyi 2.5.0 ruoyi http://www.ruoyi.vip 若依微服务系统 2.5.0 UTF-8 UTF-8 1.8 2.3.7.RELEASE Hoxton.SR9 2.2.5.RELEASE 2.3.1 2.1.4 2.9.2 1.5.24 1.26.5 2.3.2 1.3.0 1.2.4 3.2.1 2.5 1.3.3 1.7 1.2.75 8.0.3 4.1.2 2.6.2 org.springframework.cloud spring-cloud-dependencies ${spring-cloud.version} pom import com.alibaba.cloud spring-cloud-alibaba-dependencies ${spring-cloud-alibaba.version} pom import org.springframework.boot spring-boot-dependencies ${spring-boot.version} pom import de.codecentric spring-boot-admin-starter-client ${spring-boot-admin.version} com.github.tobato fastdfs-client ${tobato.version} org.mybatis.spring.boot mybatis-spring-boot-starter ${spring-boot.mybatis} io.swagger swagger-models ${swagger.core.version} io.swagger swagger-annotations ${swagger.core.version} com.github.penggle kaptcha ${kaptcha.version} com.github.pagehelper pagehelper-spring-boot-starter ${pagehelper.boot.version} commons-io commons-io ${commons.io.version} org.apache.poi poi-ooxml ${poi.version} commons-fileupload commons-fileupload ${commons.fileupload.version} org.apache.velocity velocity ${velocity.version} commons-collections commons-collections com.alibaba fastjson ${fastjson.version} org.apache.commons commons-pool2 ${common-pool.version} com.ruoyi ruoyi-common-core ${ruoyi.version} com.ruoyi ruoyi-common-swagger ${ruoyi.version} com.ruoyi ruoyi-common-security ${ruoyi.version} com.ruoyi ruoyi-common-datascope ${ruoyi.version} com.ruoyi ruoyi-common-datasource ${ruoyi.version} com.ruoyi ruoyi-common-log ${ruoyi.version} com.ruoyi ruoyi-common-redis ${ruoyi.version} com.ruoyi ruoyi-api-system ${ruoyi.version} ruoyi-auth ruoyi-gateway ruoyi-visual ruoyi-modules ruoyi-api ruoyi-common pom io.swagger swagger-annotations 1.5.10 org.apache.maven.plugins maven-compiler-plugin ${java.version} ${java.version} ${project.build.sourceEncoding} 复制代码 都是非必须,字面意思。 :域 例如com :公司名 groupid和artifactId被统称为“坐标”是为了保证项目唯一性而提出的 :项目的版本号 :属性的占位符 如java中的常量 :在我们项目顶层的POM文件中,我们会看到dependencyManagement元素。通过它元素来管理jar包的版本,让子项目中引用一个依赖而不用显示的列出版本号。Maven会沿着父子层次向上走,直到找到一个拥有dependencyManagement元素的项目,然后它就会使用在这个dependencyManagement元素中指定的版本号。 :指定所有的子工程都下载该包。 复制代码

白话说 如果父工程有,且groupId和artifactId相同,那么子工程不需要指定版本号, 直接使用父工程版本号。

例如:当子工程有groupId为org.springframework.cloud时,引用当前父工程指定版本。子工程不用在写版本号了。

org.springframework.cloud spring-cloud-dependencies ${spring-cloud.version} pom import 复制代码 :指当前父工程包含的子工程 如果这里不引入 那么 刷新父工程pom时 子工程不会下载jar包 :打包配置 pom在聚合工程中 一定要配置 指的是在引入其他工程时 直接引入代码,否则就会打成jar包 这样就会报错了 复制代码 5.ruoyi-modules子工程配置

这里我们选择一个最有代表性的子工程ruoyi-modules来介绍。

1.pom文件 com.ruoyi ruoyi 2.5.0 4.0.0 ruoyi-system ruoyi-gen ruoyi-job ruoyi-file ruoyi-modules pom ruoyi-modules业务模块 复制代码

这里主要配置是

:内容就是父工程的 :指该工程包含ruoyi-system,ruoyi-gen,ruoyi-job,ruoyi-file子工程 复制代码 2.ruoyi-system子项目配置 com.ruoyi ruoyi-modules 2.5.0 4.0.0 ruoyi-modules-system ruoyi-modules-system系统模块 com.alibaba.cloud spring-cloud-starter-alibaba-nacos-discovery com.alibaba.cloud spring-cloud-starter-alibaba-nacos-config com.alibaba.cloud spring-cloud-starter-alibaba-sentinel org.springframework.boot spring-boot-starter-actuator io.springfox springfox-swagger-ui ${swagger.fox.version} mysql mysql-connector-java com.ruoyi ruoyi-common-datasource com.ruoyi ruoyi-common-datascope com.ruoyi ruoyi-common-log com.ruoyi ruoyi-common-swagger ${project.artifactId} org.springframework.boot spring-boot-maven-plugin repackage 复制代码 :配置父工程ruoyi-modules的 :本项目的依赖 复制代码

如果想引入其他工程,只需要加入:

com.ruoyi ruoyi-common-datascope com.ruoyi ruoyi-common-log com.ruoyi ruoyi-common-swagger 复制代码


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3