maven 导入本地jar、maven 安装本地jar

news2024/9/24 11:30:10

方式一、 将jar放入本地任意目录(不推荐)

 pom.xml 

        <!-- 
            groupId:cn.myCompany.myCommon 规则:公司性质.公司名.项目名或其它
            artifactId:jar包 自定义ID,通常与jar包名同名;pom通过groupId+artifactId+version找到maven仓库中唯一jar包
            version:jar包 版本号
            scope:三方jar 使用 system
            systemPath:直接使用当前系统目录 win系统 D:/mylibs/my-common-1.0.1.jar 或 mac 系统  /Users/xxx/mylibs/my-common-1.0.1.jar
         -->
        <dependency>
            <groupId>cn.myCompany.myCommon</groupId>
            <artifactId>my-common</artifactId>
            <version>1.0.1</version>
            <scope>system</scope>
            <systemPath>D:/mylibs/my-common-1.0.1.jar</systemPath>
        </dependency>

方式二、将jar包放入项目中

 pom.xml

        <!-- 
            groupId:cn.myCompany.myCommon 规则:公司性质.公司名.项目名或其它
            artifactId:jar包 自定义ID,通常与jar包名同名;pom通过groupId+artifactId+version找到maven仓库中唯一jar包
            version:jar包 版本号
            scope:三方jar 使用 system
            systemPath:${project.basedir} 表示当前项目根目录
         -->
        <dependency>
            <groupId>cn.myCompany.myCommon</groupId>
            <artifactId>my-common</artifactId>
            <version>1.0.1</version>
            <scope>system</scope>
            <systemPath>${project.basedir}/src/main/resources/lib/my-common-1.0.1.jar</systemPath><!-- 项目 src/main/resources/lib 目录下的 my-common-1.0.1.jar -->
        </dependency>

打包相关:

需要在 pom.xml 的 springboot打包插件 spring-boot-maven-plugin 中配置 configuration.includeSystemScope 为 true:打包时将所有scope为system的三方jar打入jar包

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <!-- true表示打包时包含scope为system的第三方的jar包,在在第2步骤自定义依赖时<scope>system</scope> -->
                    <includeSystemScope>true</includeSystemScope>
                </configuration>
            </plugin>
        </plugins>
    </build>

方式三、将jar包打入maven仓库,再通过pom引入jar

命令参数说明

-Dfile=需要导入的jar包所放的位置
-DgroupId=导入到本地仓库jar包的父级目录

-DartifactId=jar包文件夹的名称

-Dversion=版本号
–-settings=是maven的setting.xml配置文件,会把jar包打包到xml文件中配置的本地仓库,未配置会打包到默认的本地仓库中(可以在idea的maven配置中找到该路径,配置文件中指定了maven仓库目录;如果路径中包含空格,则需要将文件全路径用引号引起来)

maven命令执行: 

mac

mvn install:install-file -Dfile=/Users/xxx/mylibs/my-common-1.0.1.jar -DgroupId=cn.myCompany.myCommon -DartifactId=my-common -Dversion=1.0.1 -Dpackaging=jar --settings "/Users/lizhen/apache-maven-3.5.4 idea/conf/settings.xml"

win

mvn install:install-file -Dfile=D:\mylibs\my-common-1.0.1.jar -DgroupId=cn.myCompany.myCommon -DartifactId=my-common -Dversion=1.0.1 -Dpackaging=jar --settings "D:\apache-maven-3.5.4\settings.xml" 

报错:

[ERROR] Error executing Maven.
[ERROR] The specified user settings file does not exist: /Users/lizhen/apache-maven-3.5.4

解决:原因是目录下找不到指定文件 ,或 路径中有空格,需要将全路径用引号引起来。

 pom.xml

        
        <dependency>
            <groupId>cn.myCompany.myCommon</groupId>
            <artifactId>my-common</artifactId>
            <version>1.0.1</version>
        </dependency>

方式四、idea添加

File - Project Structure...

 Libraries - + - Java - 选择jar包 - OK

 

 

相关参考:

https://blog.csdn.net/QWERTY55555/article/details/127014859

https://blog.csdn.net/qq_32486597/article/details/127785075

https://blog.csdn.net/qq_35783715/article/details/128462674

groupId的取名方式 https://www.cnblogs.com/rxysg/p/15692343.html 

https://blog.csdn.net/qq_41026669/article/details/106747204

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/689455.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

chatgpt赋能python:Python虚拟环境管理:让你的项目更加独立和可靠

Python虚拟环境管理&#xff1a;让你的项目更加独立和可靠 什么是Python虚拟环境? Python虚拟环境&#xff08;Virtual Environment&#xff09;是一种Python环境隔离的机制&#xff0c;它可以让你在同一个操作系统上创建多个Python环境&#xff0c;互不干扰。这意味着你可以…

【MATLAB第48期】基于MATLAB的REMR-LSTM多次循环递归拓展理论的长短期记忆网络LSTM回归预测模型,PCA预处理降维

【MATLAB第48期】基于MATLAB的REMR-LSTM多次循环递归拓展理论的长短期记忆网络LSTM回归预测模型&#xff0c;PCA预处理降维 在本文中&#xff0c;将展示一个使用多次循环递归拓展&#xff08;REMR&#xff09;理论来改进LSTM回归预测问题。 通过多次循环&#xff0c;优化训练集…

Linux下的tmux的使用

0.前言 您好&#xff0c;这里是limou3434&#xff0c;本次我将给您带来Linux下tmux的使用。 如果您感兴趣也可以看看我的其他内容。 1.tmux的基础概念 tmux是一款在Linux里运行在终端上的软件&#xff0c;可以使得终端具有强大的多任务管理功能&#xff08;以下是在Ubuntu环…

如何做好迭代回顾 1/4

迭代回顾(Retrospective)、二八原则、五个“为什么”(5 Why)、以数据说话、三点估算(PERT)等&#xff0c;大家都可能听过&#xff0c;在网上也能找到相关理论知识&#xff0c;但很多软件开发团队自以为了解&#xff0c;但其实是有误解。“如何做好迭代回顾”会利用一些实际团队…

Linux Mint 21.2 “Victoria “的测试版即将到来

导读Linux Mint 21.2 “Victoria “几乎已经准备就绪&#xff0c;主要开发者Clement Lefebvre证实&#xff0c;开发周期已经结束&#xff0c;这意味着测试版应该很快就会到来。 Linux Mint 21.2是Linux Mint 21系列的第二次更新&#xff0c;它基于Ubuntu 22.04 LTS&#xff08;…

Mybatis源码篇:Mybatis初始化过程分析

文章目录 1. Mybatis初始化过程简述2. Mybatis初始化源码分析2.1 Mybatis初始化时序图2.2 源码分析2.2.1 SqlSessionFactoryUtil测试类代码2.2.2 SqlSessionFactoryBuilder源码2.2.3 XMLConfigBuilder源码2.2.4 SqlSessionFactory相关属性2.2.5 SqlSession相关属性 3. 总结4. 使…

2:PCIe Header配置空间

目录 1.概述 2.Header Type0 2.1 HeaderType字段 2.2 Class寄存器 2.3 Cache Line Size 寄存器 2.4 Subsystem ID 和 Subsystem Vendor ID 寄存器 2.5 Capabilities Pointer 寄存器 2.6 Interrupt Line 寄存器 2.7 Interrupt Pin 寄存器 2.8 Base Address Registe…

el-select如何不显示value,显示value对应的label值

文章目录 select 显示如下发生错误的原因 select 显示如下 el-select在编辑调用的时候一直显示的不是label值&#xff0c;而是本身的value值。尝试了很多种方法&#xff0c;都没有解决。 正常的形式 错误的形式 发生错误的原因 显示不正常&#xff0c;多数是由于得到的数据…

人工智能期末复习(背题家的落幕)

文章目录 一、前言二、选择题&#xff08;10 X 2&#xff09;1、补充2、第一梯队⭐⭐⭐3、第二梯队⭐⭐4、第三梯队⭐ 三、判断题&#xff08;10 X 1&#xff09;1、错误的2、正确的 四、程序填空题&#xff08;10 X 3&#xff09;1、tensorflow搭建模型2、keras模型编译3、Pyt…

AI智慧安监视频融合平台EasyCVR播放HLS流出现报错404是什么原因?

EasyCVR平台支持多协议与多类型设备接入&#xff0c;具体包括国标GB28181、RTMP、RTSP/Onvif、海康Ehome、海康SDK、大华SDK、宇视SDK等&#xff0c;能对外分发RTMP、RTSP、HTTP-FLV、WS-FLV、HLS、WebRTC等。平台既具备传统安防视频监控的能力&#xff0c;也能接入AI智能分析的…

【强化学习】什么是“强化学习”

作者主页&#xff1a;爱笑的男孩。的博客_CSDN博客-深度学习,活动,python领域博主爱笑的男孩。擅长深度学习,活动,python,等方面的知识,爱笑的男孩。关注算法,python,计算机视觉,图像处理,深度学习,pytorch,神经网络,opencv领域.https://blog.csdn.net/Code_and516?typeblog个…

MySQL的存储过程

MySQL 一、存储过程的概念存储过程的优点 二、创建简单的存储过程三、存储过程的参数IN 输入参数OUT 输出参数INOUT 输入输出参数 四、删除存储过程五、存储过程的控制语句条件语句循环语句 一、存储过程的概念 存储过程是一组为了完成特定功能的SQL语句。 存储过程再使用过程…

安装rabbitmqctl问题

RabbitMQ Server 311.18 Setup bat start xited with code 1. 主要对应得erlang版本不对&#xff08;注意 安装过程中一定要对应指定版本&#xff0c;尽量装低一版本&#xff0c;并且erlang选择中间版本&#xff09; RabbitMQ Erlang Version Requirements — RabbitMQ

adb shell后,getevent退出方法

adb shell后&#xff0c;getevent退出方法 输入 exit 然后回车退出

使用 Debian、Docker 和 Nginx 部署 Web 应用

前言 本文将介绍基于 Debian 的系统上使用 Docker 和 Nginx 进行 Web 应用部署的过程。着重介绍了 Debian、Docker 和 Nginx 的安装和配置。 第 1 步&#xff1a;更新和升级 Debian 系统 通过 SSH 连接到服务器。更新软件包列表&#xff1a;sudo apt update升级已安装的软件…

pointNet训练预测自己的数据集Charles版本(二)

之前博客介绍了如何跑通charles版本的pointNet&#xff0c;这篇介绍下如何来训练和预测自己的数据集&#xff0c;介绍如何在自己的数据集上做点云语义分割&#xff0c;此篇的环境配置和博客中保持一致。点云分类较简单&#xff0c;方法差不多&#xff0c;这边就不特地说明了。 …

RFID智能物料仓库管理系统

文章目录 设计任务及要求一、需求分析1.1 硬件图1.1.1 GEC6818开发板模块介绍1.1.2 低频RFID模块 1.2 软件图 二、概要设计2.1 功能流程图2.1.1 模块层次关系2.1.2 防碰撞2.1.3 步骤流程图 三、详细设计3.1 摄像头模块代码3.2 串口初始化模块代码分析3.3 报警模块代码分析3.4 光…

java项目之房屋租赁系统ssm源码

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于ssm的房屋租赁系统。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 &#x1f495;&#x1f495;作者&#xff1a;风歌&#xff…

SDH接口能够用DAT3作为插入侦测引脚

SDH&#xff08;Secure Digital Host&#xff09;接口需要 9 个引脚来实现其功能&#xff0c;这些引脚包括&#xff1a; VDD&#xff1a;电源引脚&#xff0c;通常连接到3.3V的电源。 VSS&#xff1a;地引脚&#xff0c;通常连接到系统的地线。 DAT0&#xff1a;数据线0&…

【Linux】在simplescreenrecorder中录制的视频,打开的时候是黑屏,显示不了任何画面

一、问题背景 在simplescreenrecorder中录制的视频&#xff0c;打开的时候是黑屏&#xff0c;显示不了任何画面 当时我以为是软件本身设置有问题&#xff0c;于是乎就到处调。网上有些回答说可能是显卡驱动问题&#xff0c;这个驱动我可不敢随便重装啊&#xff0c;太花时间了…