SpringBoot项目引入jar包

2023-10-27

在项目过程中,有时候需要引入本地的jar包(比如企业自己的jar包或者修改过的源码包)。有两种方法可以使用

一、本地maven库

把jar包打到本地maven库,然后在pom文件中加上依赖

把jar和pom文件打到maven库的命令

mvn org.apache.maven.plugins:maven-install-plugin:3.0.0-M1:install-file -Dfile=path-to-your-artifact-jar -DpomFile=path-to-pom

打到本地库后,加入依赖;groupId和artifactId指向本地maven库地址

        <dependency>
            <groupId>com.ikw.ems</groupId>
            <artifactId>utils.entrybuilder</artifactId>
            <version>1.0-SNAPSHOT</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/src/main/resources/lib/EMSCommon-1.0.jar</systemPath>
        </dependency>

二、把jar包编入工程

如果只是在idea中运行,那么可以把jar拷贝到resources/lib下(要在SourceRoot下),然后在idea中右键lib文件夹,选择最下面的Add as Lirary…然后可以调用jar包中的接口了。
但是如果你此时打包的话,编译时,会报classNotFound(找不到类/程序)异常,是因为你的jar包没有在classpath中,这里需要把你的jar包所在的目录加到的编译classpath中

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.6.0</version>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                    <compilerArguments>
                        <extdirs>${project.basedir}/src/main/resources/lib</extdirs>
                    </compilerArguments>
                </configuration>
            </plugin>

现在终于可以编译通过打包成jar包了,但是运行却发现还是报classNotFound异常,原因是springboot默认库的位置是/BOOT-INF/lib,而resources目录(SourceRoot)都被压到/BOOT-INF/classes下了,我们还要把jar包压到/BOOT-INF/lib中去

        <resources>
            <resource>
                <directory>src/main/resources/lib</directory>
                <targetPath>BOOT-INF/lib/</targetPath>
                <includes>
                    <include>dems_util.jar</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
            </resource>
        </resources>

resources是build的子标签,和plugins同级

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SpringBoot项目引入jar包 的相关文章

随机推荐

  • docker部署redis集群配置文件笔记

    密码 requirepass 123456 指明为主机一的从机 slaveof 192 168 0 1 6389 主从redis同步的认证密码 与连接密码同 若不需要可不用配置 masterauth 123456 最大内存 maxmemor
  • 30条值得你借鉴的好习惯

    我有幸一直能生活在比较好的圈子中 我的优秀的同学 舍友 乃至我现在创业后遇到的优秀创业者 从他们身上看到和学到一些好的习惯 我一直觉得 好的习惯 是成功和进步的重要一点 我随手总结一些给大家 零散未经排版 当然 每个人有每个人的判断 这里可
  • 学术诚信的重要性_坚守学术道德,弘扬学术诚信

    霍楷 徐晨 摘 要 学车无辕而不立 人无信则不立 诚信乃为人之根本 学术诚信是个人行为秉性和学术道德品质的展现 反映了个体真实水准与学术涵养 培养学术道德意识 弘扬学术诚信精神 坚守学术诚信理念 净化学术环境是艺术类高校义不容辞的责任 提升
  • 基础12:高阶函数

    高阶函数 高阶函数英文叫 Higher order function 它的定义很简单 就是至少满足下列一个条件的函数 接受一个或多个函数作为输入 输出一个函数 也就是说高阶函数是对其他函数进行操作的函数 可以将它们作为参数传递 或者是返回它
  • springboot项目启动成功后执行一段代码的两种方式

    转自 https www cnblogs com zuidongfeng p 9926471 html 1 实现ApplicationRunner接口 package com lnjecit lifecycle import org spr
  • netcat小工具使用

    接收端 nc l 1789 gt test1 txt 发送端 nc 1 1 1 1 1789 lt test1 txt 使用nc传文件要比scp快不少 当然 安全性低了 root 12 nc h usage nc 46DdhklnrStUu
  • 小米笔记本pro开机出现no bootable devices

    用了4个月的小米笔记本开机突然出现no bootable devices 无法正常启动 很烦 如下图 上网查了资料 说是无法正确识别硬盘 然后 小米论坛的朋友 也有反馈 说很他们的小米笔记本也都出现了类似的情况 至今没有找到解决的方法 这可
  • 51单片机AD模数转换(SPI通信)

    一 AD DA介绍 AD AnalogtoDigital 模拟 数字转换 将模拟信号转换为计算机可操作的数字信号 DA Digital to Analog 数字 模拟转换 将计算机输出的数字信号转换为模拟信号 AD DA转换打开了计算机与模
  • python pandas定位表格中的某一单元并修改——at

    python pandas定位表格中的某一单元并修改 at 首先 我们创造一个用来进行测试的dataframe import pandas data aaa abc1 abc2 bbb bc1 bc2 ccc c1 c2 df pandas
  • Nacos安装详细过程

    本文来说下Nacos 注册中心 配置中心 安装详细过程 文章目录 初识Nacos Nacos开发必知 安装Nacos 本文小结 初识Nacos Nacos 致力于帮助您发现 配置和管理微服务 Nacos 提供了一组简单易用的特性集 帮助您快
  • 【转】介绍线性代数

    color red 这里转一个别人写的对线性代数的理解 觉得他已经写出了线性代数的魂 可惜的是我也是从网上别人的转载中摘录的 未知作者的大名啊 color 今天先谈谈对线形空间和矩阵的几个核心概念的理解 这些东西大部分是凭着自己的理解写出来
  • Canvas画布基本功能及实现网页签名功能

    canvas 简介
  • C++之泛型编程

    目录 模板 模板的特点 函数模板 前言 函数模板的使用方式 函数模板具体案例 使用模板的注意事项 普通函数与函数模板间的区别 具体案例 普通函数与函数模板调用规则 模板的局限性 具体化模板 类模板 前言 类模板与函数模板的区别 类模板中成员
  • JS URL的编码解码以及使用场景

    前端事件交互 有的时候会用到url作为参数 然而你会发现直接把url当个字符串来处理会发现有很多的局限性 比如说我想添加一个参数什么的 或者进行个解析比较麻烦 而且有的时候解析url有的时候因为特殊符号什么的也是个问题 于是有了JS的url
  • STDCnetwork BiSeNet 的实时语义分割的rethinking

    STDCnetwork Rethinking BiSeNet For Real time Semantic Segmentation重新思考 BiSeNet 的实时语义分割 BiSeNet 28 27 已被证明是一种流行的用于实时分割的双流
  • 关于新手Myeclipse(最新V2019.12.5) 第一次创建web project,运行JSP,详细步骤,所遇到的问题及解决方案。

    Myeclipse 创建web project 运行JSP 详细步骤 具体Myeclipse的安装及环境配置我不再赘述 我在这里用的Myeclipse的版本为V2019 12 5 打开Myeclipse 创建一个新的Workspaces 点
  • 一文读懂微生物扩增子16s测序

    微生物多样性测序结果如何看 做过16s测序的小伙伴们都知道 测完之后会拿到一份结果报告 但这并不代表可以开始写文章了 看似一大堆数据图表却不知如何下手 这是很多人头疼的地方 那么怎样给报告中的数据赋予灵魂 让它真正成为对你有帮助的分析呢 一
  • 一起来用Websocket(一)开篇 Websocket!Socket在HTML5复活

    注 本文源代码点此下载 一起来用websocket 一 开篇 websocket socket在html5复活 前言 html5中有一个比较好用的特性 就是websocket 现在已集成在chrome的较新版本中 由于前段时间在项目中有用到
  • 《计算机网络》——第五章知识点

    可靠 保证接收方进程从缓存区读出的字节流与发送方发出的字节流是完全一样的 确认重传不分家 TCP的发送方在规定的时间内没有收到确认就要重传已发送的报文段 流量控制 让发送方慢点 要让接收方来得及接收 TCP利用滑动窗口机制实现流量控制 在通
  • SpringBoot项目引入jar包

    在项目过程中 有时候需要引入本地的jar包 比如企业自己的jar包或者修改过的源码包 有两种方法可以使用 一 本地maven库 把jar包打到本地maven库 然后在pom文件中加上依赖 把jar和pom文件打到maven库的命令 mvn