• 关于处理第三方jar包的maven攻略


    0.背景

    当我们进行开发时,如对接第三方应用平台,通常会得到第三方平台提供的jar包。如果仅仅是添加到路径下,有时又会因为类找不到而运行失败,所以通常我们会将jar包安装到本地或上传到私有maven服务器

    1.本地安装方式

    1.1.查看jarmaven相关信息

    比如,我们有一个jar包叫zjfire-sdk-0.01.jar,一般来说,maven打包,jar包内都会有这么一个目录META-INF/maven/...

    多说两句,这里的META-INF就是指元数据,maven呢就是maven相关,都是直译,别紧张。

    在这里插入图片描述

    将这两个文件解压出来,我们看到pom.properties文件如下:

    #Generated by Maven
    #Fri Jan 14 15:18:21 CST 2022
    groupId=com.hikvision
    artifactId=zjfire-sdk-0.01
    version=1.0-SNAPSHOT
    
    • 1
    • 2
    • 3
    • 4
    • 5

    1.2.根据pom.properties的信息本地安装

    于是我们依据此信息安装到本地,执行命令:

    mvn install:install-file -Dfile=./zjfire-sdk-0.01.jar -DpomFile=./pom.xml -DgroupId=com.hikvision -DartifactId=zjfire-sdk-0.01 -Dversion=1.0-SNAPSHOT -Dpackaging=jar
    
    • 1

    然后我们就可以看到本地仓库中已经有了此依赖,依赖关系的 pom 文件也在,其实这个文件就是pom.xml

    在这里插入图片描述

    我们可以打开它,发现依赖关系是存在的。这样才能正确获得依赖关系,减少类找不到的奇怪错误。

    在我们项目中,使用正常的依赖方式进行依赖即可,当然了,要按照我们安装时指定的-DgroupId-DartifactId-Dversion

    也就是:

    <dependency>
       <groupId>com.hikvisiongroupId>
       <artifactId>zjfire-sdk-0.01artifactId>
       <version>1.0-SNAPSHOTversion>
    dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5

    当然了,你也可以按照你的需要去设定-DgroupId-DartifactId-Dversion,只要你依赖时保持一致即可。

    1.3.直接使用 Maven 插件在打包时自动安装

    如果我们拥有要使用第三方jar包的开发项目,可以在项目中直接添加Maven插件指定项目中的文件安装到本地仓库,比如我们安装opencv的包到本地仓库。

    <plugin>
        <groupId>org.apache.maven.pluginsgroupId>
        <
    • 1
    • 2
  • 相关阅读:
    数据库性能翻3倍:Redis on Flash分层存储技术是如何做到的?
    nginx实战-frp+docker+nginx+tomcat内网穿透无法获取客户端真实ip
    MeterSphere | 前端入参加密
    【SmartApi】v1.1.0版本发布
    把wpf的窗体保存为png图片
    Unity中Tilemap Layer详解
    Flutter中如何取消任务
    近200篇文章汇总而成的机器翻译非自回归生成最新综述,揭示其挑战和未来研究方向...
    机器学习介绍与分类
    离心鼓风机行业调研:2021年行业产量超过11000台
  • 原文地址:https://blog.csdn.net/hengbao4/article/details/126786697