加载本地jar包,无法将jar打进包

1、问题介绍

​ 项目依赖某个私有jar包,由于各种原因,没有将jar包打进本地maven库,选择使用放到项目lib下引用,但是打包时lib文件夹下的依赖包打不进去,查看原因后,是因为下的的作用域问题,使用本地lib,都会选择system,而system的作用域默认不将jar打进war包中,下边先写解决方法,对的详细介绍放在最后。

2、问题解决

​ 1.首先在项目lib下引入本地jar包

​ 2.在pom.xml文件中引入jar包

<dependency><groupId>org.json</groupId><artifactId>json</artifactId><version>20180130</version><scope>system</scope><systemPath>${project.basedir}/lib/json-20180130.jar</systemPath>
</dependency>
<dependency><groupId>org.json</groupId><artifactId>json-smart</artifactId><version>2.3</version><scope>system</scope><systemPath>${project.basedir}/lib/json-smart-2.3.jar</systemPath>
</dependency>

​ 3. 使用maven插件,将scopt=system的jar包打进war包中,如果是boot项目,可以选择下面那种方法,我使用的是第一种,亲测

<build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-dependency-plugin</artifactId><version>2.10</version><executions><execution><id>copy-dependencies</id><phase>compile</phase><goals><goal>copy-dependencies</goal></goals><configuration><outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/lib</outputDirectory><includeScope>system</includeScope></configuration></execution></executions></plugin></plugins>
</build>
<plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><includeSystemScope>true</includeSystemScope><mainClass>com.startboot.StartApplication</mainClass></configuration>
</plugin>

3、扩展

​ scope元素的作用:控制dependency(依赖)的使用范围,换句话说是控制Jar包在哪些范围,哪些情况下被加载和使用。

​ scope元素的范围: compile、test、provided、runtime、system、import

1.complie

​ complie为默认依赖范围,适用于所有阶段,包括:编译、测试、运行。这些jar包会传递到依赖的上层项目中。运行时会被打包进项目(jar或war)。

2.test

​ test表示被依赖的jar包,只有测试情况下生效,编译和运行时都无效,例如:junit。

3.provided

​ provided在编译和测试时有效,运行时失效,运行时不会被打进项目(jar包或war包)

4.runtime

​ runtime在运行和测试时有效,编译时失效。编译时会被打进项目(jar包或war包)

5.system

​ system和provided类似,只是需要指定本地jar包的路径,在测试和运行时有效,只是scope为system时,需要在build中修改参数才可使用,方法参考问题解决

maven加载本地jar包,无法将本地jar包打进项目相关推荐

  1. 解决IDEA中Maven加载依赖包慢的问题

    解决IDEA中Maven加载依赖包慢的问题 参考文章: (1)解决IDEA中Maven加载依赖包慢的问题 (2)https://www.cnblogs.com/ouym/p/6106450.html ...

  2. R包操作相关:安装、卸载、加载、移除、已经安装的包、包的路径、函数查看等

    R包操作相关:安装.卸载.加载.移除.已经安装的包.包的路径.函数查看等 查看已经加载的R包: (.packages()) 列出包所在的路径: .libPaths() 查看已经安装的包的详细信息: i ...

  3. R包库安装及数据加载:一次安装多个R包、一次加载多个R包

    R包库安装及数据加载:一次安装多个R包.一次加载多个R包 目录 R包库安装及数据加载 R包安装 一次安装多个R包 加载需要的R包

  4. cesium 3dtiles 加载本地数据_深入echarts学习:加载跨域、异步、本地json数据的防坑录

    1 说明: ===== 1.1 推荐指数:★★★★ 1.2 网上这方面说明,大多模棱两可,坑很多,讲透彻的不多,故本人做一个小结. 1.3 我曾介绍echarts的简单基本用法: <Echart ...

  5. webpack4下import()模块按需加载,打包按需切割模块,减少包体积,加快首页请求速度...

    一:背景 因为项目功能越加越多,打包后的体积越来越大,导致首页展示的时候速度比较慢,因为要等压缩的js的包加载完毕. 首页展示的时候只需要对应的js,并不需要全部的js模块,所以这里就可以用按需加载, ...

  6. maven加载依赖时总是Updating [central] https://repo.maven.apache.org/maven2

    最近在使用maven添加依赖的时候,动不动idea就会从Updating [central] https://repo.maven.apache.org/maven2开始下载1.23G的文件.即使在m ...

  7. 解决maven加载不了oracle jdbc驱动包的问题

    由于Oracle授权问题,Maven3不提供Oracle JDBC driver,为了在Maven项目中应用Oracle JDBC driver,必须手动添加到本地仓库. 手动添加到本地仓库需要本地有 ...

  8. Maven 加载ojdbc14.jar报错,解决方法

    因为oracle的ojdbc.jar是收费的,所以maven的中央仓库中没有这个资源,只能通过配置本地库才能加载到项目中去. 首先下载 ojdbc14  https://pan.baidu.com/s ...

  9. idea 设置加载多个资源文件,显示本地图片

    idea 经常只会设置一个资源路径,这个路径就是项目的路径.但是当要加载的文件处于其他位置时,则需要增加虚拟路径的配置. 如图:第一个是项目路径 第二个是图片路径 转载于:https://www.cn ...

最新文章

  1. Kerberos 原理简述
  2. Windows 技术篇-Internet Explorer浏览器启用方法,windows找不到ie浏览器解决办法
  3. python语音控制智能家电_Python 树莓派智能音箱语音控制电脑开关机-Python 实用宝典...
  4. 大数据风控之贷前调查必知的十大客户信息
  5. 深度学习“炼丹”难?三分钟带你了解国产丹炉旷视天元
  6. [Lucene.Net] 基本用法
  7. 1.gloox开发环境搭建
  8. python: 图像的维度、图像读写
  9. python 秘钥_python – 使用ssh密钥加密和解密密码
  10. agv机器人无人仓系统-opentcs算法改进
  11. sigar 监控服务器硬件信息
  12. (随笔)区块链是什么??
  13. 云服务器 架设传奇_传奇私服架设教程
  14. makefile通配符
  15. python生成热力图_pyHeatMap生成热力图
  16. 截止频率计算公式wc_已知低通滤波器的传递函数是G(s)=(G0*Wc)/(s+Wc),截止频率不超过2HZ,怎么求?...
  17. 15条中国人不熟悉的投资理念
  18. echarts 仪表盘
  19. 在传统连连看游戏的基础上设计出新游戏增量式的创新(结对编程)(2011212026徐颖 2011212023 裴乐)
  20. 使用MaxCompute搭建社交好友推荐系统

热门文章

  1. 中原建业冲刺上市的喜与忧:外拓小有成就,增长却逐渐放缓
  2. CDN行业鼻祖Akamai的新航道:智能边缘+云安全
  3. 【tools】Beyondcompared 3 试用过期 修改注册表
  4. 教你解决浏览器被360劫持篡改主页的麻烦
  5. 吉利闯入“工业互联网”,李书福的“微笑曲线”能否如愿?
  6. odoo之审批 流程管理 模块
  7. What is the difference between a theorem, a lemma, and a corollary?
  8. windows下php下载与安装
  9. 华为认证考试怎么预约?这本指南书教你一次到位!
  10. C语言思维基础的导图