服务器之家

服务器之家 > 正文

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

时间:2021-09-03 14:07     来源/作者:Houtaroy

1 起因

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

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

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

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

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

2 解决方案

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

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

2.1 在pom中引入

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

?
1
2
3
4
5
project
    |---src
    |---lib
         |---pig.jar
    |---pom.xml

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

?
1
2
3
4
5
6
7
<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的问题, 我们继续来进行修改:

?
1
2
3
4
5
6
7
8
9
10
11
12
<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放在项目外部, 引用时通过绝对路径处理)

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

?
1
2
3
4
5
6
7
8
9
<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包的资料请关注服务器之家其它相关文章!

原文链接:https://juejin.cn/post/6948362324063305759

标签:

相关文章

热门资讯

yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
2021年耽改剧名单 2021要播出的59部耽改剧列表
2021年耽改剧名单 2021要播出的59部耽改剧列表 2021-03-05
返回顶部