maven工程引入本地第三方jar包

 

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,指的是使用本地jar包
  • 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>

 

5.jar包导入本地仓库

首先打开dos操作界面,输入以下指令:

指令格式:

install:install-file -Dfile=<Jar包的地址>   
                -DgroupId=<Jar包的GroupId>
                -DartifactId=<Jar包的引用名称>
                -Dversion=<Jar包的版本>
                -Dpackaging=<Jar的打包方式>

如:

mvn install:install-file
 -Dfile=F:\test.jar
 -DgroupId=test
 -DartifactId=test
 -Dversion=0.0.1
 -Dpackaging=jar

点击执行,显示“BUILD SUCCESS”即表示成功。

pom.xml中添加依赖即可使用。

<dependency>
  <groupId>test</groupId>
  <artifactId>test</artifactId>
  <version>0.0.1</version>
</dependency>

ok,mvn package即可。

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Maven项目中,我们可以通过以下几种方式将第三方本地JAR文件引入到war包中: 1. 通过 system scope 引入:在项目的pom.xml文件中,添加如下配置: ```xml <dependency> <groupId>com.example</groupId> <artifactId>example</artifactId> <version>1.0</version> <scope>system</scope> <systemPath>${project.basedir}/libs/example.jar</systemPath> </dependency> ``` 这种方式直接指定了本地JAR文件的路径,并将其作为系统路径引入。 2. 通过 systemPath 引入:在系统的pom.xml文件中,添加如下配置: ```xml <dependencies> ... <dependency> <groupId>com.example</groupId> <artifactId>example</artifactId> <version>1.0</version> <scope>system</scope> <systemPath>/path/to/example.jar</systemPath> </dependency> ... </dependencies> ``` 与第一种方式类似,也是通过指定本地JAR文件的路径进行引入。 3. 通过 install 到本地仓库引入:首先需要使用以下命令将本地JAR文件安装到本地Maven仓库中: ``` mvn install:install-file -Dfile=/path/to/example.jar -DgroupId=com.example -DartifactId=example -Dversion=1.0 -Dpackaging=jar ``` 在项目的pom.xml文件中,添加如下配置: ```xml <dependencies> ... <dependency> <groupId>com.example</groupId> <artifactId>example</artifactId> <version>1.0</version> </dependency> ... </dependencies> ``` 这种方式会将本地JAR文件安装到Maven本地仓库中,然后从本地仓库中引入。 无论使用哪种方式,都需要在pom.xml文件中添加相应的依赖配置,以确保Maven能够正确地将第三方本地JAR文件打包进入war包中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值