当前位置: 首页 > news >正文

JAVA:在IDEA引入本地jar包的方法并解决打包scope为system时发布无法打包进lib的方案

一.引入本地Jar包的步骤

有时maven依耐的包是本地的jar包,此时需要进行以下步骤设置。

步骤1.在pom.xml中添加插件设置,将system范围包含进来,此设置是为了在打包时,本地jar包自动生成到部署包里。(若无法打进包,请参考下文的方案二)

<plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId><configuration><includeSystemScope>true</includeSystemScope></configuration>
</plugin>

步骤2.将本地jar包添加依赖

在项目根目录下新建lib文件夹,把本地jar包放到此目录下,并配置好对应的依赖项groupId、artifactId、version。scope为system,systemPath为jar所在路径,其中project.basedir是项目的所在根目录变量。

        <dependency><groupId>com.ctg.ag.sdk.biz</groupId><artifactId>sdkpackage</artifactId><scope>system</scope><version>1.0</version><systemPath>${project.basedir}/lib/ag-sdk-biz-SNAPSHOT.jar</systemPath></dependency>

步骤3.添加lib的对应jar包到项目

点击菜单File->Project Structure->Modules->Dependencies,点击底栏的+号,选择JARS or Directories,在弹出的窗口中选中lib目录下的那个本地jar包,确定。

以上步骤完成后,重新install,本地jar包引入完毕。

二、发布时本地包无法打包进部署包的解决方案

上述方案一正常可以将本地jar包文件打包进项目包,但也有无法打包进去的情况,可以用以下方式解决。

在pom.xml中添加resources节点:

1、设置本地jar包所在目录lib

2、指向目标生成目录,本示例是web项目,所以jar包生成目录是/WEB-INF/Lib

3、包含的文件类型为所有jar文件

        <!-- 打包时把 自定义lib 目录下的 jar 文件也打包进去  --><resources><resource><directory>${project.basedir}/lib</directory><targetPath>../${project.name}/WEB-INF/lib</targetPath><includes><include>*.jar</include></includes></resource><resource><directory>${project.basedir}/src/main/resources</directory></resource></resources>

经过此resources的配置后,install后即可生成到项目部署包中。

以上教程完毕。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • IO缓冲流
  • react基础学习 JSX
  • 2002NOIP普及组真题 4. 过河卒
  • kafka-消费者-消费异常处理(SpringBoot整合Kafka)
  • 短信测压APP
  • 保姆级讲解 Linux下FTP服务器的搭建、配置与管理
  • 【Vue】获取模块内的mutations方法
  • 上位机图像处理和嵌入式模块部署(f407 mcu和其他mcu品类的选择)
  • 计算机网络 | 第二章 物理层 | 王道考研自用笔记
  • 社交创新:Facebook的技术与产品发展
  • window.open(“.html“,“_blank“) 执行是下载,并没有打开新窗口显示html
  • 机器学习-- 如何清洗数据集
  • 利用CSS隐藏HTML元素并插入替代内容
  • 超详解——python数字和运算——小白篇
  • 【数据结构】【版本1.0】【线性时代】——顺序表
  • Apache的基本使用
  • AzureCon上微软宣布了哪些容器相关的重磅消息
  • docker python 配置
  • express + mock 让前后台并行开发
  • GDB 调试 Mysql 实战(三)优先队列排序算法中的行记录长度统计是怎么来的(上)...
  • iOS小技巧之UIImagePickerController实现头像选择
  • LeetCode刷题——29. Divide Two Integers(Part 1靠自己)
  • PHP那些事儿
  • Python打包系统简单入门
  • Vue 2.3、2.4 知识点小结
  • Vue.js-Day01
  • 安装python包到指定虚拟环境
  • 计算机在识别图像时“看到”了什么?
  • 解析带emoji和链接的聊天系统消息
  • 判断客户端类型,Android,iOS,PC
  • 手机app有了短信验证码还有没必要有图片验证码?
  • 吐槽Javascript系列二:数组中的splice和slice方法
  • 原创:新手布局福音!微信小程序使用flex的一些基础样式属性(一)
  • 源码安装memcached和php memcache扩展
  • 再谈express与koa的对比
  • ionic入门之数据绑定显示-1
  • ​字​节​一​面​
  • ###51单片机学习(1)-----单片机烧录软件的使用,以及如何建立一个工程项目
  • #职场发展#其他
  • (4)事件处理——(2)在页面加载的时候执行任务(Performing tasks on page load)...
  • (LLM) 很笨
  • (二)WCF的Binding模型
  • (二)换源+apt-get基础配置+搜狗拼音
  • (解决办法)ASP.NET导出Excel,打开时提示“您尝试打开文件'XXX.xls'的格式与文件扩展名指定文件不一致
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (转)C#调用WebService 基础
  • (转)Linux NTP配置详解 (Network Time Protocol)
  • **Java有哪些悲观锁的实现_乐观锁、悲观锁、Redis分布式锁和Zookeeper分布式锁的实现以及流程原理...
  • .NET Core SkiaSharp 替代 System.Drawing.Common 的一些用法
  • .NET/C#⾯试题汇总系列:集合、异常、泛型、LINQ、委托、EF!(完整版)
  • .NET简谈设计模式之(单件模式)
  • .w文件怎么转成html文件,使用pandoc进行Word与Markdown文件转化
  • @autowired注解作用_Spring Boot进阶教程——注解大全(建议收藏!)
  • @SpringBootApplication 包含的三个注解及其含义
  • [ C++ ] 继承