maven打包本地jar到项目中的方法实现

 更新时间:2023年06月29日 08:57:44   作者:Emanon  
本文主要介绍了maven打包本地jar到项目中的方法实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

在maven项目中,我们的项目依赖一般取自local的repository或者远程的repository,比如下面这个配置:

<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-generator</artifactId>
    <version>3.3.0</version>
</dependency>

一般而言,maven会先去本地的repository寻找,如果找不到,就会依据<repository>的定义,去远程的repository去找依赖。

不过有时候,我们依赖的jar并不在任何repository中,可能就是从第三方下载的1个sdk,怎么办?

image.png

比如上面拼多多的sdk并没有提供maven依赖坐标,而是直接提供了1个下载地址。

maven有办法处理这种情况,它支持systemscope的定义方式,可以加载本地任意路径下的jar包。

1.直接将sdk下载到本地,在maven项目的根目录中新建1个lib文件夹。将下载的sdk拷贝到lib文件夹里。

image.png

2.修改pom文件,添加如下依赖

image.png

<dependency>
    <groupId>pdd</groupId>
    <artifactId>pop-sdk</artifactId>
    <type>jar</type>
    <version>1.15</version>
    <scope>system</scope>
    <systemPath>${pom.basedir}/lib/pop-sdk.jar</systemPath>
</dependency>

其中groupId和artifactId都可以自定义,systemPath配置的是我们maven项目的根目录下lib文件夹中的jar。

3.如果发现有些配置文件没有拷贝到打的jar中,可以修改pom文件,添加如下依赖。

<resources>
    <resource>
        <directory>${project.basedir}/lib</directory>
        <targetPath>/BOOT-INF/lib/</targetPath>
        <includes>
            <include>**/*.jar</include>
        </includes>
    </resource>
    <resource>
        <directory>src/main/resources</directory>
        <targetPath>/BOOT-INF/classes</targetPath>
        <includes>
            <include>**/**</include>
        </includes>
    </resource>
    <resource>
        <directory>src/main/resources</directory>
        <filtering>false</filtering>
    </resource>
</resources>

这一步并不是必要的,我添加了下面的配置是因为打包以后apollo配置文件app.properties没拷贝到项目中导致拉取配置失败,项目没有启动起来。

到此这篇关于maven打包本地jar到项目中的方法实现的文章就介绍到这了,更多相关maven打包本地jar 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • springboot工程如何使用阿里云OSS传输文件

    springboot工程如何使用阿里云OSS传输文件

    阿里云对象存储OSS(Object Storage Service)是一款海量、安全、低成本、高可靠的云存储服务,多种存储类型供选择,全面优化存储成本,非常适合存储非结构化数据,本文给大家介绍springboot工程使用阿里云OSS传输文件的操作,感兴趣的朋友一起看看吧
    2023-08-08
  • SpringBoot整合Mybatis之各种查询、模糊查询、批量删除、动态表名操作

    SpringBoot整合Mybatis之各种查询、模糊查询、批量删除、动态表名操作

    这篇文章主要介绍了SpringBoot整合Mybatis之各种查询、模糊查询、批量删除、动态表名,本文结合示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-12-12
  • Java Condition类案例详解

    Java Condition类案例详解

    这篇文章主要介绍了Java Condition类案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-09-09
  • 详解Spring的两种代理方式:JDK动态代理和CGLIB动态代理

    详解Spring的两种代理方式:JDK动态代理和CGLIB动态代理

    这篇文章主要介绍了详解Spring的两种代理方式:JDK动态代理和CGLIB动态代理,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-04-04
  • JAVA中的静态代理、动态代理以及CGLIB动态代理总结

    JAVA中的静态代理、动态代理以及CGLIB动态代理总结

    本篇文章主要介绍了JAVA中的静态代理、动态代理以及CGLIB动态代理总结,具有一定的参考价值,有兴趣的可以了解一下
    2017-08-08
  • Java策略模式实现简单购物车功能

    Java策略模式实现简单购物车功能

    这篇文章主要介绍了Java策略模式实现简单地购物车,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-08-08
  • Netty中的心跳检测机制详解

    Netty中的心跳检测机制详解

    这篇文章主要介绍了Netty中的心跳检测机制详解,Netty 是 基于 TCP 协议开发的,在四层协议 TCP 协议的实现中也提供了 keepalive 报文用来探测对端是否可用,TCP 层将在定时时间到后发送相应的 KeepAlive 探针以确定连接可用性,需要的朋友可以参考下
    2023-12-12
  • Java 编程之IO流资料详细整理

    Java 编程之IO流资料详细整理

    这篇文章主要介绍了Java 编程之IO流资料详细整理的相关资料,需要的朋友可以参考下
    2017-02-02
  • Spring学习之依赖注入的方法(三种)

    Spring学习之依赖注入的方法(三种)

    本篇文章主要介绍了Spring学习之依赖注入的方法(三种),小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • Java实战之在线租房系统的实现

    Java实战之在线租房系统的实现

    这篇文章主要介绍了利用Java实现的在线租房系统,文中用到了SpringBoot、Redis、MySQL、Vue等技术,文中示例代码讲解详细,需要的可以参考一下
    2022-02-02

最新评论