详解springboot解决第三方依赖jar包的问题
发布时间 - 2026-01-11 03:19:13 点击率:次公司现在用的是springboot+maven,想要把一些老的项目都改成这种框架。但是一些老的项目中有好多第三方的jar包或者是自己的jar包,maven库上没有。最初的解决方案是一个个的deploy到maven库上,但是遇到太多的三方jar包就太费事了。网上查了一下发现maven有一种方式可以将本地的Jar包依赖到项目中而不需要先deploy到maven库上。具体做法如下:

跟普通的java项目一样,新建个lib目录放jar包,我建在了src下。
pom文件中依赖这样写:
<!--添加外部依赖-->
<dependency>
<groupId>Ice</groupId>
<artifactId>Ice</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${basedir}/src/lib/Ice.jar</systemPath>
</dependency>
basedir是自带变量,指的是当前项目的绝对路径,三围自己随便写。
通过这种方式引入依赖后,在编码的时候没有问题,但是用mvn clean package打成jar包后运行就是报错,正式找不到这些jar包中的相关类。把jar包解压后在BOOT-INF/lib里面也确实没有发现用上述方式引入的jar包,看来是没有把src/lib目录里面的jar打进去,后来通过查找也终于找到方法了,修改pom文件,在build标签下增加如下配置:
<resources>
<resource>
<directory>src/lib</directory>
<targetPath>BOOT-INF/lib/</targetPath>
<includes>
<include>**/*.jar</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<targetPath>BOOT-INF/classes/</targetPath>
</resource>
</resources>
目的就是把src/lib下的jar打到BOOT-INF/lib下,但是必须要增加第二个resource,不然src/main/resources下的配置文件又打不进jar包了。
如果要打成war包,则pom文件需要这样改:
<!--设置maven-war-plugins插件,否则外部依赖无法打进war包-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<webResources>
<resource>
<directory>lib</directory>
<targetPath>WEB-INF/lib/</targetPath>
<includes>
<include>**/*.jar</include>
</includes>
</resource>
</webResources>
</configuration>
</plugin>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# springboot
# 第三方jar
# spring
# boot
# jar包
# 引入jar
# SpringBoot将所有依赖(包括本地jar包)打包到项目
# springboot项目中引入本地依赖jar包并打包到lib文件夹中
# 使用Springboot 打jar包实现分离依赖lib和配置
# springboot打包实现项目JAR包和依赖JAR包分离
# SpringBoot项目没有把依赖的jar包一起打包的问题解决
# Springboot项目打包如何将依赖的jar包输出到指定目录
# 自己的
# 的是
# 是一个
# 太多
# 找不到
# 有一种
# 中有
# 第二个
# 或者是
# 打到
# 要先
# 事了
# 自带
# 报错
# 第三方
# 指的是
# 打进
# 不进
# 终于找到
# 三方
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
北京网站制作公司哪家好一点,北京租房网站有哪些?
Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全
javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】
Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧
Win10如何卸载预装Edge扩展_Win10卸载Edge扩展教程【方法】
Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】
Laravel中间件起什么作用_Laravel Middleware请求生命周期与自定义详解
Laravel如何创建自定义Facades?(详细步骤)
如何撰写建站申请书?关键要点有哪些?
Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件
大同网页,大同瑞慈医院官网?
怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?
简单实现Android验证码
Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】
如何快速查询域名建站关键信息?
Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
Laravel Fortify是什么,和Jetstream有什么关系
Laravel Blade模板引擎语法_Laravel Blade布局继承用法
手机怎么制作网站教程步骤,手机怎么做自己的网页链接?
Win11怎么修改DNS服务器 Win11设置DNS加速网络【指南】
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?
如何在万网利用已有域名快速建站?
Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)
使用C语言编写圣诞表白程序
如何在浏览器中启用Flash_2025年继续使用Flash Player的方法【过时】
Win11应用商店下载慢怎么办 Win11更改DNS提速下载【修复】
Python企业级消息系统教程_KafkaRabbitMQ高并发应用
Python文件操作最佳实践_稳定性说明【指导】
作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】
Java遍历集合的三种方式
怎么用AI帮你为初创公司进行市场定位分析?
lovemo网页版地址 lovemo官网手机登录
Laravel怎么生成URL_Laravel路由命名与URL生成函数详解
Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】
Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】
php 三元运算符实例详细介绍
如何在自有机房高效搭建专业网站?
浅谈javascript alert和confirm的美化
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
详解MySQL数据库的安装与密码配置
网站建设保证美观性,需要考虑的几点问题!
微信小程序 五星评分(包括半颗星评分)实例代码
Thinkphp 中 distinct 的用法解析
Laravel怎么判断请求类型_Laravel Request isMethod用法
如何在阿里云域名上完成建站全流程?
laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法
Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置

