在maven中引入本地jar包的步骤

 更新时间:2021年4月9日 15:01  点击:2013

1 起因

在和一些第三方厂商对接的过程中, 偶尔会遇到对方提供的SDK自带maven无法获取的jar包的情况(对于开源激进者的笔者很讨厌这种行为)

我们该如何处理这种情况呢, 其实解决思路很简单:

  • 在pom中引入本地jar
  • 打包时本地jar包含在内

让我们来看看具体怎么操作吧

idea中虽然可以在项目配置加入, 但打包时会报错, 相关的处理方案不再思考

2 解决方案

首先, 终极解决方案是: 把jar包传到自己的maven私服上

对于没有自己私服的小伙伴们这是句废话, 我们还是来看看实际的吧

2.1 在pom中引入

以下是我个人的解决方案, 先介绍下项目目录:

project
    |---src
    |---lib
         |---pig.jar
    |---pom.xml

我们可直接在pom中加入如下引用:

<dependency>    
    <groupId>cn.com.pig</groupId>    
    <artifactId>pig</artifactId>    
    <version>1.0</version>    
    <scope>system</scope>    
    <systemPath>${project.basedir}/lib/pig.jar</systemPath>
</dependency>

其中的groupId, version等内容, 可以在idea中打开jar包, 查看里面的MANIFEST.MF获取

2.2 Spring Boot 打包处理

完成了pom引入后, 直接执行maven的package命令, 会出现找不到pig.jar的问题, 我们继续来进行修改:

<build>    
    <plugins>        
        <plugin>            
            <groupId>org.springframework.boot</groupId>            
            <artifactId>spring-boot-maven-plugin</artifactId>       
            <!--加入这条配置即可-->
            <configuration>                
                <includeSystemScope>true</includeSystemScope>            
            </configuration>        
        </plugin>    
    </plugins>
<build>

2.3 拓展: Spring Boot 打包加入其它资源

在和硬件设备交互时, 我们除了基础的jar包外, 可能还需要引入一些dll文件(当然, 笔者更推荐将这些dll放在项目外部, 引用时通过绝对路径处理)

可以采用下面的方式来加入这些资源:

<resources>    
    <resource> 
        <directory>dll</directory>        
        <targetPath>/BOOT-INF/dll/</targetPath>        
        <includes>            
            <include>*.*</include>        
        </includes>    
    </resource>
</resources>

对上面的参数进行下讲解:

  • directory: 本地路径, dll即project/dll
  • targetPath: 打包完成后在jar包中的路径, 如果开头不为/, 默认在classes目录下追加, 例如dll, 则会实际生成在/BOOT-INF/classes/dll, 上面填写的则会打包到/BOOT-INF/dll
  • include: 包含文件, *.*为所有

以上就是在maven中引入本地jar包的步骤的详细内容,更多关于maven中引入本地jar包的资料请关注猪先飞其它相关文章!

[!--infotagslink--]

相关文章

  • 解决执行maven命令时提示Process terminated的问题

    这篇文章主要介绍了解决执行maven命令时提示Process terminated的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-09-25
  • PHP+Ajax手机发红包的程序例子

    PHP+Ajax有许多的功能都会用到它小编今天就有使用PHP+Ajax实现的一个微信登录功能了,下面我们来看一个PHP+Ajax手机发红包的程序例子,具体如下所示。 PHP发红包基本...2016-11-25
  • 详解如何将c语言文件打包成exe可执行程序

    这篇文章主要介绍了详解如何将c语言文件打包成exe可执行程序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-25
  • 解决idea2020 maven无法自动导包的问题

    这篇文章主要介绍了解决idea2020 maven无法自动导包的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-13
  • 解决IDEA maven 项目修改代码不生效,mvn clean、install后才生效

    这篇文章主要介绍了解决IDEA maven 项目修改代码不生效,mvn clean、install后才生效的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-09-25
  • idea 打包maven项目忽略test文件的操作

    这篇文章主要介绍了idea 打包maven项目忽略test文件的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-02-05
  • 详解Maven profile配置管理及激活profile的几种方式

    这篇文章主要介绍了详解Maven profile配置管理及激活profile的几种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-01-26
  • 将c#编写的程序打包成应用程序的实现步骤分享(安装,卸载) 图文

    时常会写用c#一些程序,但如何将他们和photoshop一样的大型软件打成一个压缩包,以便于发布....2020-06-25
  • Pyinstaller打包文件太大的解决方案

    这篇文章主要介绍了Pyinstaller打包文件太大的解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-09
  • Postman安装与使用详细教程 附postman离线安装包

    这篇文章主要介绍了Postman安装与使用详细教程 附postman离线安装包,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-03-05
  • PHP实现创建以太坊钱包转账等功能

    这篇文章主要介绍了PHP实现创建以太坊钱包转账等功能,对以太坊感兴趣的同学,可以参考下...2021-04-20
  • 手把手教你uniapp和小程序分包(图文)

    本文主要介绍了手把手教你uniapp和小程序分包,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-02
  • 详解idea从git上拉取maven项目详细步骤

    这篇文章主要介绍了详解idea从git上拉取maven项目详细步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-08-12
  • C# 实现抓包的实例代码

    这篇文章主要介绍了C# 实现抓包的方法,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下...2020-08-04
  • 全面理解JavaScript中的闭包

    将外部作用域中的局部变量封闭起来的函数对象称为闭包(Closure),被封闭起来的变量与封闭它的函数对象有相同的生命周期,这在JavaScript中比较难理解而且十分重要,接下来带大家一起来全面理解JavaScript中的闭包:...2016-05-14
  • 如何改变R语言默认存储包的路径

    这篇文章主要介绍了改变R语言默认存储包的路径操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-05-06
  • 使用Maven 搭建 Spring MVC 本地部署Tomcat的详细教程

    这篇文章主要介绍了使用Maven 搭建 Spring MVC 本地部署Tomcat,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-08-16
  • intellij idea如何将web项目打成war包的实现

    这篇文章主要介绍了intellij idea如何将web项目打成war包的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-07-04
  • python打包生成so文件的实现

    这篇文章主要介绍了python打包生成so文件的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-10-30
  • R语言关于“包”的知识点总结

    在本篇文章里小编给大家分享的是一篇关于R语言“包”的知识点总结内容,有兴趣的朋友们可以学习下。...2021-05-06