• 关于处理第三方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
  • 相关阅读:
    CoCube传感器MPU6050笔记
    编译原理实验-LR语法分析
    2024年了,如何从 0 搭建一个 Electron 应用
    数据库存储引擎
    SRS、ZLMediakit音视频流媒体服务器
    【智能家居-大模型】构建未来,聆思大模型智能家居交互解决方案正式发布
    基于Java+SSM+MySQL的水果商城系统
    基于神经网络的语音识别
    任务调度框架-如何实现定时任务+RabbitMQ事务+手动ACK
    硬核分享:硬件工程师常用工具包
  • 原文地址:https://blog.csdn.net/hengbao4/article/details/126786697