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

maven引入本地jar包的方法

maven作为包管理工具,好处不必多说

但是有些情况,比如需要引入第三方包,如快递鸟,支付宝,微信等jar包(当然有可能直接提供maven依赖)

如果直接下载到本地之后,怎么整合到自己的maven工程呢?

方式挺多的,下面列举四种方式

1. 上传到maven中心仓库

https://oss.sonatype.org/

愿意折腾可也搞搞,可以参考 如何发布Jar包到Maven中央仓库(确实比较麻烦)

优点:可以直接在pom.xml中引入,打包部署没有问题

缺点:上传复杂,麻烦(创建工单,生成秘钥等等)

2. 搭建maven私服

手动在后台管理页面上传,之后pom.xml引入

上传方式查看 maven私服nexus上传第三方jar包以及下载

优点:下载速度快,maven聚合项目更适用,内部适用deploy即可,打包部署没有问题

缺点:相比第一种还要麻烦些,还占用本地服务器资源

3. 传统方式

java SE的套路

新建lib包,之后导入(eclipse直接build path)(idea麻烦些:File→project structure→libraries→+jar包)

优点:简单,不用做额外的配置

缺点:协作开发,多人都需做同样的操作,沟通也是一回事

4. pom文件scope的system属性

优点:配置后之后直接引入,maven reImport即可

缺点:没啥缺点,就是配置者得费些时间

前置条件

要引入如下taobao-sdk-java.jar

操作

  1. 自定义目录,这里在project的根目录新建lib文件夹,将jar放进去

     

  2. pom.xml中引入
        <dependency>
          <groupId>dingding</groupId>
          <artifactId>dingding</artifactId>
          <version>2.8</version>
          <scope>system</scope>
          <systemPath>${project.basedir}/lib/taobao-sdk-java.jar</systemPath>
        </dependency>

注意:

  • groupId:自定义
  • artifactId:自定义
  • version:自定义
  • scope:必须是system
  • systemPath:jar包的路径(idea编写的时候会有提示的)

通过上述方式,在开发环境没有什么问题,不会存在什么包找不到等情况

但是,maven project部署一般打包发布,所以打包是需要额外配置的(上述的第一二中方式不需要做额外处理)

处理打包

打包的时候需要做如下配置,需要通过resource标签引入,位置build→resources→resource

 <build>
   <resources>
    <resource>
      <directory>lib</directory>
      <targetPath>/BOOT-INF/lib/</targetPath>
      <includes>
        <include>**/*.jar</include>
      </includes>
    </resource>
   </resources>
 </build>
  • directory:指定lib文件夹的位置,由于是相对工程根目录,所以直接写上lib即可
  • targetPath:打包到的文件夹位置,写上BOOT-INF/lib即可,或者是WEB-INF/lib。【斜杠(/)加不加都行,如果是mac的话写./】
  • includes:一般都是以jar结尾,就写**/*.jar

较为完整的pom.xml

        <dependency>
            <groupId>dingding</groupId>
            <artifactId>dingding</artifactId>
            <version>2.8</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/lib/taobao-sdk-java-auto_1479188381469-20190628.jar</systemPath>
        </dependency>

    </dependencies>
    <build>
        <resources>
            <resource>
                <directory>lib</directory>
                <targetPath>/BOOT-INF/lib/</targetPath>
                <includes>
                    <include>**/*.jar</include>
                </includes>
            </resource>
        </resources>

 

ok,mvn package即可。

转载于:https://www.cnblogs.com/chywx/p/11563318.html

相关文章:

  • jmap错误:unknown CollectedHeap type : class sun.jvm.hotspot.gc_interface.CollectedHeap
  • nginx retryfiles
  • gitlab 构建常见错误
  • PS——使用切片工具切出透明图片
  • 从零开始部署CloudSim4.0云计算仿真平台
  • Ubuntu 16.04 64位 安装NVIDIA驱动 CUDA9.1和PyTorch
  • 从零开始部署Guns V4.0 (SpringBoot开源框架)教程
  • 云计算:数据中心之虚拟机
  • codeblocks不支持16位,“64位Windows不兼容”的问题
  • PTA 6-1 在一个数组中实现两个堆栈 (20分)
  • PTA 7-1 哈夫曼编码 (30分)
  • 哈夫曼编码的最优子结构性质
  • PTA jmu-ds-舞伴问题 (20分)
  • 如何学习编程?如何学号C语言?编程学习网站汇总
  • PTA 银行排队问题之单窗口“夹塞”版(30分)
  • [rust! #004] [译] Rust 的内置 Traits, 使用场景, 方式, 和原因
  • android 一些 utils
  • const let
  • CSS实用技巧
  • exif信息对照
  • Java 11 发布计划来了,已确定 3个 新特性!!
  • Mybatis初体验
  • MySQL用户中的%到底包不包括localhost?
  • python 装饰器(一)
  • UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
  • Vim 折腾记
  • 百度地图API标注+时间轴组件
  • 关于Java中分层中遇到的一些问题
  • 近期前端发展计划
  • 力扣(LeetCode)965
  • 每个JavaScript开发人员应阅读的书【1】 - JavaScript: The Good Parts
  • 面试题:给你个id,去拿到name,多叉树遍历
  • 名企6年Java程序员的工作总结,写给在迷茫中的你!
  • 前端_面试
  • 如何选择开源的机器学习框架?
  • 使用API自动生成工具优化前端工作流
  • # C++之functional库用法整理
  • # Java NIO(一)FileChannel
  • (+3)1.3敏捷宣言与敏捷过程的特点
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (31)对象的克隆
  • (M)unity2D敌人的创建、人物属性设置,遇敌掉血
  • (附表设计)不是我吹!超级全面的权限系统设计方案面世了
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (过滤器)Filter和(监听器)listener
  • (论文阅读26/100)Weakly-supervised learning with convolutional neural networks
  • (七)微服务分布式云架构spring cloud - common-service 项目构建过程
  • (求助)用傲游上csdn博客时标签栏和网址栏一直显示袁萌 的头像
  • (十)【Jmeter】线程(Threads(Users))之jp@gc - Stepping Thread Group (deprecated)
  • (四) 虚拟摄像头vivi体验
  • (四)docker:为mysql和java jar运行环境创建同一网络,容器互联
  • (学习日记)2024.03.25:UCOSIII第二十二节:系统启动流程详解
  • (一)80c52学习之旅-起始篇
  • (转)Android学习系列(31)--App自动化之使用Ant编译项目多渠道打包
  • (转)Oracle 9i 数据库设计指引全集(1)