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

ops/2024/11/29 19:02:27/

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/ops/137722.html

相关文章

faiss库中ivf-sq(ScalarQuantizer,标量量化)代码解读-5

训练过程 通过gdb调试得到这个ivfsq的训练过程,我尝试对这个内容具体训练过程进行解析,对每个调用栈里面的逻辑和代码进行解读。 步骤函数名称调用位置说明1faiss::IndexIVF::train/faiss/IndexIVF.cpp:1143开始训练,判断是否需要训练第一级…

uniapp在App端定义全局弹窗,当打开关闭弹窗会触发onShow、onHide生命周期怎么解决?

在uniapp(App端)中实现自定义弹框,可以通过创建一个透明页面来实现。点击进入当前页面时,页面背景会变透明,用户可以根据自己的需求进行自定义,最终效果类似于弹框。 遇到问题:当打开弹窗(进入弹窗页面)就会触发当前页…

适配器模式(一种设计模式)

适配器模式, 也叫包装器模式. 将⼀个类的接⼝,转换成客⼾期望的另⼀个接⼝, 适配器让原本接⼝不兼容的类可以合作无间。 简单来说就是⽬标类不能直接使⽤, 通过⼀个新类进⾏包装⼀下, 适配调⽤⽅使⽤. 把两个不兼容的接⼝通过⼀定的⽅式使之兼容. 回忆一下slf4j模式…

23种设计模式-生成器(Builder)设计模式

文章目录 一.什么是生成器设计模式?二.生成器模式的特点三.生成器模式的结构四.生成器模式的优缺点五.生成器模式的 C 实现六.生成器模式的 Java 实现七.代码解析八. 总结 类图: 生成器设计模式类图 一.什么是生成器设计模式? 生成器模式&am…

linux(redhat8)如何安装mysql8.0之rpmtar双版本(最新版)(内网)(离线)

一.环境 系统版本:Red Hat 8.5.0-20 Java环境:build 1.8.0_181-b13 MYSQL:8.x版本 二、查看内核版本 #查看内核版本,根据内核版本下载对应的安装包 cat /proc/version 三、安装方式 一、rpm包方式 一、下载安装包 1. 登录网…

Web登录页面设计

记录第一个前端界面,暑假期间写的,用了Lottie动画和canvas标签做动画,登录和注册也连接了数据库。 图片是从网上找的,如有侵权私信我删除,谢谢啦~

线程与进程的个人理解

进程(Process): 一个程序在执行时,操作系统为其分配的资源(如内存、CPU 时间等)构成了一个进程。每个进程都有自己的独立的地址空间、堆栈和局部变量,它们之间不共享内存(除非通过特…

KST-3D01型胎儿超声仿真体模、吸声材料以及超声骨密度仪用定量试件介绍

一、KST-3D01型胎儿超声仿真体模 KST—3D01型胎儿超声体模,采用仿羊水环境中内置胎龄为7个月大仿胎儿设计。用于超声影像系统3D扫描演示装置表面轮廓呈现和3D重建。仿羊水超声影像呈暗回声(无回波)特性,仿胎儿超声影像呈对比明显…