zoukankan      html  css  js  c++  java
  • maven引入本地jar包的方法

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

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

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

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

    1. 上传到maven中心仓库

    https://oss.sonatype.org/

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

    如这是我手动上传到maven中央仓库的jar包 https://mvnrepository.com/search?q=chendahai

    优点:可以直接在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即可。

  • 相关阅读:
    P1121 环状最大两段子段和
    无题
    cdoj 1485 柱爷搞子串 sam treap
    自然数幂和
    Gym 100341C AVL Trees NTT
    线性筛分解质因子
    codeforces 366 Ant Man dp
    UVALive 6914 Maze Mayhem 轮廓线dp
    hdu 5790 Prefix 字典树 主席树
    莫比乌斯反演个人小结
  • 原文地址:https://www.cnblogs.com/gakuki/p/14436613.html
Copyright © 2011-2022 走看看