springboot项目使用maven打包,第三方jar问题

news/2024/11/29 5:31:33/

maven_packagejarjar_0">springboot项目使用maven package打包为可执行jar后,第三方jar会被打包进去吗?

答案是肯定的。做了实验如下:

第三方jar的项目结构及jar包结构如下:(该第三方jar采用的是maven工程,打包为普通jar(非可执行jar,没有主类),发现maven工程在maven package后,依赖的jar包不会被一起打包)
在这里插入图片描述
在这里插入图片描述
将上面的jar包安装到本地maven仓库后,在其他的springboot项目中引用该starter,过程如下:
在这里插入图片描述
在这里插入图片描述
该springboot项目使用maven package打包为可执行jar包后,观察jar包结构:
在这里插入图片描述
在META-INF中有一个MANIFEST.MF文件,描述了boot项目的一些属性。
在这里插入图片描述
在这里插入图片描述
找到指定目录查看,果然在这里。所以部署在服务器上的boot项目应该是这样找到依赖的第三方jar的。
在这里插入图片描述

再观察一下被打包进来的jar的目录结构:
在这里插入图片描述
可以发现,和导入前的jar结构完全一致。

扩展
上面已经发现:maven工程在maven package后,依赖的jar包不会被一起打包。
假如maven工程A通过pom导入了maven工程B的jar,但是打包maven工程A时,B不会被打包进去。那么当一个springboot工程C通过maven导入了A使用时,会不会因为缺失B而报错呢?这个我做了一下实验,发现并不会。C导入A后,B也出现在了C的External Libraries列表中,并且打包C为可执行jar后,A、B两个jar同时出现在了BOOT-INF/lib下,并不会出现问题。

截图记录下:
1、这是项目A的结构,项目A是maven项目,打包后,B不会被打包进去
在这里插入图片描述
2、这是springboot项目C
在这里插入图片描述
在这里插入图片描述在这里插入图片描述


maven的更多知识还是有待增强的,需要进行一个系统的学习,期待后续。


http://www.ppmy.cn/news/1550820.html

相关文章

基于DHCP,ACL的通信

该问题为华为的学习资料 1.首先把所有的PC机全部设置为DHCP 2.配置地址 3.ospf 4.dhcp 5.acl AR1 dhcp en interface GigabitEthernet0/0/0ip address 192.168.1.254 255.255.255.0 dhcp select global interface GigabitEthernet0/0/1ip address 10.1.12.1 255.255.255.…

华为新手机和支付宝碰一下 带来更便捷支付体验

支付正在变的更简单。 11月26日,华为新品发布会引起众多关注。发布会上,华为常务董事余承东专门提到,华为Mate 70和Mate X6折叠屏手机的“独门支付秘技”——“碰一下”,并且表示经过华为和支付宝的共同优化,使用“碰…

网络知识1-TCP/IP模型

从用户端到服务端,tcp/ip模型可分为应用层、传输层、网络层、网络接口层 以下使用寄快递为例进行解释 应用层职责: 只关注与为用户提供应用功能,如HTTP、FTP、telnet、DNS、SMTP等 ,应用层的职责就像我们寄快递时将快递给快递员…

微信小程序蓝牙writeBLECharacteristicValue写入数据返回成功后,实际硬件内信息查询未存储?

问题:连接蓝牙后,调用小程序writeBLECharacteristicValue,返回传输数据成功,查询硬件响应发现没有存储进去? 解决:一直以为是这个write方法的问题,找了很多相关贴,后续进行硬件日志…

Java项目实战II基于SpringBoot的教学资料管理系统(开发文档+数据库+源码)

目录 一、前言 二、技术介绍 三、系统实现 四、核心代码 五、源码获取 全栈码农以及毕业设计实战开发,CSDN平台Java领域新星创作者,专注于大学生项目实战开发、讲解和毕业答疑辅导。 一、前言 在教育信息化的大背景下,教学资料的高效管…

操作系统 内存管理——针对实习面试

目录 操作系统 内存管理什么是虚拟内存?什么是物理内存?解释虚拟内存和物理内存的区别什么是分页式存储?什么是分段式存储?解释分页式存储和分段式存储的区别什么是内存碎片?描述几种常见的内存分配算法描述几种常见的…

三格电子—EtherNet IP转Modbus RTU网关

EtherNet/IP转Modbus RTU网关 SG-EIP-MOD-210 产品用途 SG-EIP-MOD-210网关可以实现将Modbus接口设备连接到 EtherNet/IP网络中。用户不需要了解具体的Modbus和 EtherNet/IP协议即可实现将Modbus设备挂载到 EtherNet/IP接口的PLC上,并和Modbus设备进行数据交互。拓…

Github 2024-11-23 Rust开源项目日报 Top10

根据Github Trendings的统计,今日(2024-11-23统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Rust项目10TypeScript项目2Meilisearch: 快速搜索API,提升工作效率 创建周期:2252 天开发语言:Rust协议类型:MIT LicenseStar数量:44442 个…