解决多模块开发中的问题(聚合继承)

news2024/11/16 2:38:51

在这里插入图片描述

🐌个人主页: 🐌 叶落闲庭
💨我的专栏:💨
c语言
数据结构
javaweb

石可破也,而不可夺坚;丹可磨也,而不可夺赤。


Maven

  • 一、聚合
    • 1.1创建Maven模块,设置打包类型为pom
    • 1.2设置当前聚合工程所包含的子模块名称
  • 二、继承
    • 2.1创建Maven模块,设置打包类型为pom
    • 2.2在父工程的pom文件中配置依赖关系(子工程将沿用父工程中的依赖关系)
    • 2.3配置子工程中可选的依赖关系
    • 2.4在子工程中配置当前工程所继承的父工程
  • 三、聚合和继承的区别

一、聚合

  • 聚合:将多个模块组织成一个整体,同时进行项目构建的过程称为聚合
  • 聚合工程:通常是一个不具有业务功能的“空”工程(有且仅有一个pom文件)
  • 作用:使用聚合工程可以将多个工程编组,通过对聚合工程进行构建,实现对所包含的模块进行同步构建
    • 当工程中某个模块发生更新(变更)时,必须保障工程中与已更新模块关联的模块同步更新,此时可以使用聚合工程来解决批量模块同步构建的问题

1.1创建Maven模块,设置打包类型为pom

<packaging>pom</packaging>
  • 每个maven工程都有对应的打包方式,默认为jar,web工程打包方式为war

1.2设置当前聚合工程所包含的子模块名称

<modules>
	<module>../maven_ssm</module>
	<module>../maven_pojo</module>
	<module>../maven_dao</module>
</modules>
  • 聚合工程中所包含的模块在进行构建时会根据模块间的依赖关系设置构建顺序,与聚合工程中模块的书写位置无关
  • 参与聚合的工程无法向上感知是否参与聚合,只能向下配置哪些模块参与本工程的聚合

二、继承

  • 概念:继承描述的的是两个工程间的关系,与java中的继承相似,子工程可以继承父工程中的配置信息,常见于依赖关系的继承
  • 作用:
    • 简化配置
    • 减少版本冲突

2.1创建Maven模块,设置打包类型为pom

<packaging>pom</packaging>
  • 建议父工程打包方式设置为pom

2.2在父工程的pom文件中配置依赖关系(子工程将沿用父工程中的依赖关系)

<dependencies>
	<dependencicy>
		<groupId><org.springframework</groupId>
		<artifactId>spring-webmvc</artifactId>
		<version><5.2.10.RELEASE/version>
	</dependencicy>
	.......
</dependencies>

2.3配置子工程中可选的依赖关系

<dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.alibaba</groupId>
                <artifactId>druid</artifactId>
                <version>1.2.16.16</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

2.4在子工程中配置当前工程所继承的父工程

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.14</version>
        <!--填写父工程的pom文件-->
        <!-- lookup parent from repository -->
        <relativePath/> 
    </parent>
  • 子工程中使用父工程中的可选依赖时,仅需要提供群组id和项目Id,无需提供版本,版本由父工程统一提供,避免版本冲突
  • 子工程中还可以定义父工程中没有定义的依赖关系

三、聚合和继承的区别

  • 作用:
      • 聚合用于快速构建项目
      • 继承用于快速配置
  • 相同点:
      • 聚合与继承的pom.xml文件打包方式均为pom,可以将两种关系制作到同一个pom 文件中
      • 聚合与继承均属于设计型模块,并无实际的模块内容
  • 不同点:
      • 聚合是在当前模块中配置关系,聚合可以感知到参与聚合的模块有哪些
      • 继承是在子模块中配置关系,父模块无法感知哪些子模块继承了自己

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/907654.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

特斯拉Cybertruck卡车实物照流出,今年 9月可交付?配置报价待定

根据最新的消息&#xff0c;特斯拉的Cybertruck目前正在冰岛的一座冰川上进行路测&#xff0c;并且据称特斯拉的团队还在利用这辆车拍摄相关的广告海报。这进一步表明特斯拉已经进入了Cybertruck的最后测试阶段&#xff0c;并且准备在今年9月底开始交付。然而&#xff0c;有外媒…

MyBatis的基本入门及Idea搭建MyBatis坏境且如何一步骤实现增删改查(CRUD)---详细介绍

一&#xff0c;MaBatis是什么&#xff1f; 首先是一个开源的Java持久化框架&#xff0c;它可以帮助开发人员简化数据库访问的过程并提供了一种将SQL语句与Java代码进行解耦的方式&#xff0c;使得开发人员可以更加灵活地进行数据库操作。 1.1 Mabatis 受欢迎的点 MyBatis不仅是…

使用 OpenTelemetry 构建可观测性 04 - 收集器

在之前的博文中&#xff0c;我们讨论了如何使用 SDK 和链路追踪生产者来导出进程中的遥测数据。尽管有多种类型的导出器可供选择&#xff0c;但其中一个常见的目标是将数据导出到 OpenTelemetry Collector。本篇文章将深入探讨收集器以及如何使用它。 选 OTel Collector 还是…

激活函数总结(十五):振荡系列激活函数补充(SQU、NCU、DSU、SSU)

激活函数总结&#xff08;十五&#xff09;&#xff1a;激活函数补充 1 引言2 激活函数2.1 Shifted Quadratic Unit (SQU) 激活函数2.2 Non-Monotonic Cubic Unit (NCU) 激活函数2.3 Decaying Sine Unit (DSU) 激活函数2.4 Shifted Sinc Unit (SSU) 激活函数 3. 总结 1 引言 在…

豪越科技受邀出席2023中国算力大会

2023年8月17日-8月20日&#xff0c;“算汇银川 数创未来”创新中国行走进银川暨2023中国算力大会在银川中关村创新中心召开。政府领导、行业领袖、专家学者、以及大型科技企业负责人齐聚大会现场&#xff0c;围绕算力基础设施建设、创新应用和产业发展成果等方面开展广泛交流与…

NSF拨款3800万美元让更多机构参与量子科学与工程

近日&#xff0c;美国国家科学基金会&#xff08;National Science Foundation&#xff0c;NSF&#xff09;宣布对“量子信息科学与工程扩展能力”&#xff08;Expanding Capacity in Quantum Information Science and Engineering&#xff0c;ExpandQISE&#xff09;计划拨款3…

好消息,微信又有免费提现活动了

​明天就是一年一度的七夕佳节&#xff0c;微信推出了「浪漫七夕&#xff0c;情寄明灯」活动&#xff0c;凡参与活动都可获得免费提现券等奖励。 01 活动时间 8 月 21 日 10 点至 8 月 24 日 24 点。 02 如何参与 活动入口&#xff1a; 在「微信支付有优惠」小程序专属入口…

解读2023年上半年财报:继续押注儿童业务的361°,有着怎样的野心?

“足球热”的风还是吹到了青少年身边&#xff0c;近日&#xff0c;济南历城二中女足问鼎2023世界中学生足球锦标赛女子组冠军&#xff0c;中国球队时隔16年再次获得世界中学生足球锦标赛冠军&#xff0c;点燃了不少足球爱好者的热情。 少儿体育热之下&#xff0c;与之相关的运…

Php“牵手”淘宝商品销量数据采集方法,淘宝API接口申请指南

淘宝天猫商品销量接口 API 是开放平台提供的一种 API 接口&#xff0c;它可以帮助开发者获取商品的详细信息&#xff0c;包括商品的标题、描述、图片&#xff0c;月销量&#xff0c;总销量等信息。在电商平台的开发中&#xff0c;销量接口API是非常常用的 API&#xff0c;因此本…

20英镑以上免费吗?英国亚马逊上调当日达订单免配送费门槛!

据外媒报道&#xff0c;英国亚马逊向Prime会员发送了一封电子邮件&#xff0c;通知他们从下个月开始必须为小额当日达订单支付运费。 亚马逊在向Prime用户发送的电子邮件中称&#xff0c;目前&#xff0c;其向符合条件的邮政编码内的Prime会员提供免费当日送达服务。 不过&am…

机器学习,过拟合与欠拟合,正则化与交叉验证

目录 机器学习 过拟合与欠拟合 正则化与交叉验证 正则化 交叉验证 机器学习 的目的是使学到的模型不仅对已知数据而且对未知数据都能有很好的预测能力。 不同的机器学习方法会给出不同的模型。当损失函数给定时&#xff0c;基于损失函数的模型的训练误差&#xff08;tra…

Gear_Of_War靶机

靶场下载 https://www.vulnhub.com/entry/gears-of-war-ep1%2C382/ 一、信息收集 发现主机 nmap -sP 192.168.16.0/24获取开放端口等信息 nmap -sV -sC -A -p 1-65535 192.168.16.207扫描目录没有发现 二、445端口利用 工具一&#xff1a;smbma 扫描共享状态信息 smbm…

Qbytearray:从十六进制字符串转字节一些注意事项

1、从十六进制字符串转字节后&#xff0c;按字节使用时 QByteArray data QByteArray::fromHex("cc94");printf("%x %x\n",data.at(0),data.at(0)&0xff);//若超过127&#xff0c;会不一样printf("%d %d\n",data.at(0),data.at(0)&0xff);…

Redis Lua脚本执行原理和语法示例

Redis Lua脚本语法示例 文章目录 Redis Lua脚本语法示例0. 前言参考资料 1. Redis 执行Lua脚本原理1.1. 对Redis源码中嵌入Lua解释器的简要解析&#xff1a;1.2. Redis Lua 脚本缓存机制 2. Redis Lua脚本示例1.1. 场景示例1. 请求限流2. 原子性地从一个list移动元素到另一个li…

matlab使用教程(18)—多项式的定义和运算

1.创建并计算多项式 此示例说明如何在 MATLAB 中将多项式表示为向量以及根据相关点计算多项式。 1.1 表示多项式 MATLAB 将多项式表示为行向量&#xff0c;其中包含按降幂排序的系数。例如&#xff0c;三元素向量 p [p2 p1 p0]; 表示多项式 创建一个向量以表示二次多项式…

一文看懂!数据管道和数据流在数据分析中的作用

当我们谈论数据分析时&#xff0c;我们通常会想到一系列的步骤&#xff0c;包括数据收集、数据清洗、数据分析和数据可视化等。然而&#xff0c;在这些步骤中&#xff0c;有两个非常重要的概念&#xff1a;数据管道和数据流。这两个概念在数据分析过程中起着至关重要的作用。本…

Vue3组合式API详解 - 大型应用的高端写法

目录 01-setup方法与script_setup及ref响应式02-事件方法_计算属性_reactive_toRefs03-生命周期_watch_watchEffect04-跨组件通信方案provide_inject05-复用组件功能之use函数06-利用defineProps与defineEmits进行组件通信 01-setup方法与script_setup及ref响应式 在Vue3.1版本…

图片怎么转换成pdf格式?可以试试这样转换

图片怎么转换成pdf格式&#xff1f;图片转换成PDF格式是一个常见的需求&#xff0c;无论是为了方便存储还是为了分享文件&#xff0c;将图片转换成PDF格式都是一个不错的选择。有许多软件和在线工具可以帮助你完成这个任务&#xff0c;下面就给大家介绍一款转换工具。 【迅捷PD…

中期国际:MT4交易平台介绍:功能、优势与适用范围

在外汇市场中&#xff0c;MetaTrader 4(简称MT4)被广泛认可为最受欢迎的交易平台之一。它具备丰富的功能和独特的优势&#xff0c;不仅适用于个人零售交易者&#xff0c;也广泛应用于金融机构和专业交易员。本文将介绍MT4交易平台的关键功能、独有优势以及适用范围。 首先&…