【笔记】关于Maven中<optional>标签的理解
之前我有个误区:子pom通过<parent>标签继承父pom,如果父pom中的依赖设置<optional>true</optional>
<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>${lombok.version}</version><optional>true</optional>
</dependency>
子pom就不会继承此依赖关系,事实证明,我理解错了。下面通过实际操作来理解可选依赖。
SpringCloud项目主工程的pom.xml文件如下:引入了hutool-all工具jar包

common公共模块继承主工程

通过Maven Helper插件看看模块的依赖关系,发现hutool-all jar包被继承下来了。

难道是<optional>标签不生效吗?,不是的,<optional>标签实际应用如下:
在common模块中引入一个新的jar包,去掉<optional>属性,或者属性值设置为false

另一个business业务模块引入common公共模块,使business业务模块在可以顺利声明使用common模块中写的公共方法。

Maven Helper查看依赖(Maven Helper插件的安装和使用这里不再赘述,大家网上搜素就有相关文档),可以看到easypoi依赖也顺利加载过来

我们现在回到common模块,设置easypoi依赖的<optional>true</optional>,在查看business模块的依赖关系,发现没有easypoi依赖了。

至此,结束。希望这篇文章对家理解<optional>有一定的帮助。
相关文章:
【笔记】关于Maven中<optional>标签的理解
之前我有个误区:子pom通过<parent>标签继承父pom,如果父pom中的依赖设置<optional>true</optional> <dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version&g…...
JavaScript函数及面向对象
JavaScript函数及面向对象 4.1、函数定义及变量作用域 定义方式一 绝对值函数 function abs(x){if(x>0){return x;}else{return -x;} }一旦执行到return代表函数结束,返回结果! 如果没有执行return,函数执行完也会返回结果,…...
【chartGPT】我们要不要搞chartGPT?
话题:官兔子并未表态要研发chartGPT,chartGPT炒的很火,我们到底要不要投入研发呢? 问题起因:我个人是做技术的,也玩炒股。就昨天吧,看到一个热评【马斯克等呼吁暂停chartGPT5的研发,周鸿炜谈不发展才是最大…...
java——date时间类型操作
目录 1.date类型使用 2.获取想要的自定义时间点 3.date类型与String类型转换 4.date时间先后比较 1.date类型使用 在java中,日期时间用java.util.Date类来表示,调用默认构造器Date(),将会创建一个当前系统时间的Date对象,时间…...
应急响应——IDSIPSmsf流量后门分析
目录 0x01 网页篡改与后门攻击防范应对指南 0x02 主要需了解:日志存储,Webshel检测,分析思路等...
项目二:电子骰子
项目二:电子骰子 文章目录项目二:电子骰子一、导入(5分钟)学习目的二、新授(65分钟)1.预展示结果(5分钟)2.本节课所用的软硬件(5分钟)3.硬件介绍(1分钟)4.图形化块介绍(1分钟)5.单个模块的简单使用(1分钟)6.电子骰子编程逻辑分析(25分钟)7.电…...
D. Genius‘s Gambit(很多情况)
Problem - D - Codeforces 已知三个整数a b k。求两个二进制整数z和y ( > y)满足1. y都由a个0和b个1组成;2. X - y(也是二进制形式)恰好有k个1。z和y不允许使用前导零。输入唯一的一行包含三个整数a, b和k (0 <a;1 <b;0<k < ab< 2- 105) -结果中0、1和1的个数…...
jsp824汽车维修保养管理系统javaEE+mysql
主要实现 1.车主信息管理:管理员发布车主信息后,普通用户查询到该车主信息,用户选择某个车主信息,查询车主信息,管理员审核添加,或删除车主信息。 2.保养信息管理:管理员…...
Linux下C/C++ redis协议(RESP)解析
Redis是一个开源的内存键值数据存储,最常用作主数据库、缓存、消息代理和队列。Redis提供了亚毫秒的响应时间,在游戏、金融科技、广告技术、社交媒体、医疗保健和物联网等行业实现了快速而强大的实时应用。 Redis连续五年成为开发人员最喜爱的数据库。开…...
IDEA 性能优化设置
在我们日常使用IDEA进行开发时,可能会遇到许多卡顿的瞬间,明明我们的机器配置也不低啊?为什么就会一直卡顿呢? “ 原来这是因为IDEA软件在我们安装的时候就设置了默认的内存使用上限(通常很小),…...
蓝桥杯刷题冲刺 | 倒计时4天
作者:指针不指南吗 专栏:蓝桥杯倒计时冲刺 🐾倒计时4天,冲冲冲!!!🐾 文章目录1.整除序列2.走方格3.前缀和4.差分矩阵5.翻硬币1.整除序列 题目 链接: 2065. 整除序列 - Ac…...
阿里测试7年经验,从功能测试到自动化测试,我整理的超全学习指南
做测试七年多,有不少人问过我下面问题: 现在的手工测试真的不行了吗?测试工程师,三年多快四年的经验,入门自动化测试需要多久?自学自动化测试到底需要学哪些东西?不得不说,随着行业的…...
jar加密后当作SDK给别人使用(可maven引入)
1、不加密jar,进行提取公共代码,打成jar包,并用maven引入 参考文章:以maven添加依赖的方式导入自己写的项目。springboot 提取公共类,多服务共用 2、加密jar,使用ClassFinal进行jar的加密 官网地址:Clas…...
【编程基础】032、C语言中结构体在解题中的应用
文章目录C语言中结构体在解题中的应用1、结构体之时间设计2、结构体之成绩记录3、结构体之成绩统计2C语言中结构体在解题中的应用 1、结构体之时间设计 题目描述 定义一个结构体变量(包括年、月、日)。计算该日在本年中是第几天,注意闰年问…...
Kotlin 是后端开发的未来
Kotlin 是后端开发的未来 严格类型、命名参数、多范式语言 您今天遇到的每个后端开发人员都会说他们使用 JavaScript、Python、PHP 或 Ruby 编写代码。近年来,您会遇到一小部分人转而使用 Kotlin 作为他们创建 Web 服务器的语言选择。由于我在学习Ktor,所…...
Vue3学习笔记(9.1)
Vue.js style(内联样式) 我们可以在v-bind:style直接设置样式,可以简写:style <!--* Author: RealRoad1083425287qq.com* Date: 2023-04-02 19:41:53* LastEditors: Mei* LastEditTime: 2023-04-03 15:41:44* FilePath: \vscode\Vue3_li…...
MinIO 环境变量泄漏漏洞(CVE-2023-28432)
漏洞描述 MinIO 是一个开源的对象存储服务器。 MinIO RELEASE.2023-03-20T20-16-18Z之前版本中的 bootstrap-peer-server.go#VerifyHandler 方法存在敏感信息泄漏漏洞,攻击者可向集群部署中的 MinIO 服务器的 /minio/bootstrap/v1/verify API发送POST请求…...
数组转字符串、字符串转数组的方法
一.数组转字符串方法 方法转化后类型用法特点toString()string将数组转换成了一个字符串默认用","隔开toLocaleString()string把数组转换成本地约定的字符串默认用","隔开join()string将数组元素连接起来以构建一个字符串 默认用","隔开 可以随…...
local fault和remote fault
1、什么是 local fault和remote fault? 在IEEE802.3协议中,local fault和remote fault是一种错误序列,在PCS层定义。 MAC RX侧收到local fault时,意味本地链路没有正常建立链路,MAC RX侧收到remote fault时,意味对端没…...
二叉树搜索树 AVL树
文章目录1. 二叉搜索树1.1 二叉搜索树概念1.2 二叉搜索树操作1.3 二叉搜索树的实现1.4 二叉搜索树的应用1.5 二叉搜索树的性能分析2. AVL 树2.1 AVL树的概念2.2 AVL树节点的定义2.3 AVL树的插入2.4 AVL树的旋转2.5 AVL树的验证2.7 AVL树的性能3. 具体代码实现区3.1 二叉搜索树的…...
基于MCP协议构建AI记忆管理服务:原理、实现与应用实践
1. 项目概述:一个为AI应用量身定制的记忆管理工具最近在折腾AI应用开发,特别是那些需要长期对话或上下文关联的场景时,一个绕不开的痛点就是“记忆”问题。模型本身是健忘的,每次对话都是全新的开始。为了让AI能记住用户偏好、历史…...
三维多孔介质催化反应Fluent仿真:从模型构建到关键参数调优的实战解析
1. 三维多孔介质催化反应仿真入门指南 第一次接触Fluent做多孔介质催化反应仿真时,我被复杂的参数设置搞得晕头转向。记得当时为了复现一篇文献结果,整整折腾了两周才摸清门道。这种仿真本质上是通过数值方法模拟流体在多孔催化剂内部的流动、传质和化学…...
避开这3个坑,你的MAX30102心率数据才准确(Arduino实测经验)
避开这3个坑,你的MAX30102心率数据才准确(Arduino实测经验) 在可穿戴设备和健康监测领域,MAX30102传感器因其集成度高、体积小巧而广受欢迎。但许多开发者在使用过程中常遇到数据不稳定、读数漂移等问题。本文将基于实际项目经验&…...
从‘调制方向’到‘闭环稳定’:一个公式搞定单相PWM整流器电流环PI参数整定
从动态模型到实战调参:单相PWM整流器电流环PI整定的工程化方法 在电力电子控制领域,单相PWM整流器的电流环设计一直是工程师面临的实操难点。理论教材中复杂的传递函数推导与实验室里实际系统的振荡现象之间,往往存在一道需要经验跨越的鸿沟…...
StreamCap:如何一站式解决40+直播平台录制难题?
StreamCap:如何一站式解决40直播平台录制难题? 【免费下载链接】StreamCap Multi-Platform Live Stream Automatic Recording Tool | 多平台直播流自动录制客户端 基于FFmpeg 支持监控/定时/转码 项目地址: https://gitcode.com/gh_mirrors/st/Strea…...
VPS自动化配置脚本:Shell脚本实现服务器安全与开发环境一键部署
1. 项目概述:一个为开发者量身打造的VPS自动化配置脚本如果你和我一样,经常需要快速部署新的VPS(虚拟专用服务器)来跑一些临时的项目、搭建测试环境,或者只是厌倦了每次都要重复那些繁琐的初始化步骤,那么你…...
49_《智能体微服务架构企业级实战教程》智能助手主应用服务之工具执行节点
前言 配套视频教程: 在 Bilibili课堂、CSDN课程、51CTO学堂 同步发售,提供:源码+部署脚本+文档。 bilibili课堂视频教程:智能体微服务架构企业级实战教程_哔哩哔哩_bilibili CSDN课程视频教程:智能体微服务架构企业级实战教程_在线视频教程-CSDN程序员研修院 51CTO学堂…...
STM32CubeMX配置SPI驱动W25Q64 Flash:从硬件连接到驱动封装,一个完整项目实战
STM32CubeMX实战:构建高可靠SPI Flash存储系统从硬件到软件全解析 在嵌入式开发中,外部Flash存储解决方案往往成为扩展设备数据容量的关键选择。W25Q64作为一款经典的64M-bit SPI Flash芯片,凭借其稳定的性能和广泛的应用场景,成为…...
舞蹈学论文降AI工具免费推荐:2026年舞蹈学研究毕业论文知网维普99.26%亲测达标4.8元完整方案
舞蹈学论文降AI工具免费推荐:2026年舞蹈学研究毕业论文知网维普99.26%亲测达标4.8元完整方案 直接给结论:嘎嘎降AI(www.aigcleaner.com),4.8元,知网AI率55%降到5.3%,稳定可靠。 舞蹈学论文降A…...
ChatGPT对话导出工具:一键保存结构化对话记录到Markdown
1. 项目概述:一个帮你“打包”对话记录的工具如果你经常使用ChatGPT的网页版进行深度对话,无论是用它来辅助编程、学习新知识,还是进行创意写作,你可能会遇到一个共同的痛点:那些充满价值的对话记录,被“锁…...
