详解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辅助功能视觉效果设置