SpringBoot 添加本地 jar 文件的操作步骤
作者:汤圆学Java 发布时间:2022-03-09 21:36:11
前言
有时候我们在项目中,会用到一些本地 jar 包文件,比如隔壁公司自己打包的;
此时无法从maven远程仓库拉取;
那么我们可以考虑把 jar 文件安装到本地 maven 库中,然后再添加依赖。
步骤
1. 添加 jar 文件到项目中
在 resources 目录中创建一个 lib 目录,将本地 jar 放进去,如下所示的 demo.jar
2. 安装 jar 包到 maven 本地仓库
这里我们可以利用 maven-install-plugin 插件来安装, pom.xml如下:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
<executions>
<execution>
<id>install-demo-jar</id>
<!-- 阶段:设定在 mvn clean 时执行安装,如果设定为 validate,那么就是在 mvn validate 时才安装 -->
<phase>clean</phase>
<configuration>
<!-- 路径:这就是刚才添加的 jar 路径 -->
<file>${project.basedir}/src/main/resources/lib/demo.jar</file>
<!-- 属性:下面的这三个属性,就是后面我们添加依赖时的值 -->
<groupId>com.javalover</groupId>
<artifactId>demo</artifactId>
<version>1.0</version>
<packaging>jar</packaging>
<generatePom>true</generatePom>
</configuration>
<goals>
<!-- 目标:安装外部的 jar 文件到 maven 本地仓库 -->
<goal>install-file</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
运行mvn clean
后,会打印如下日志:
[INFO] --------------------------< com.example:demo >--------------------------
[INFO] Building demo 0.0.1-SNAPSHOT
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- maven-clean-plugin:3.1.0:clean (default-clean) @ demo ---
[INFO]
[INFO] --- maven-install-plugin:2.5.2:install-file (install-demo-jar) @ demo ---
[INFO] pom.xml not found in demo.jar
[INFO] Installing /Users/jalon/Project/SpringBootProject/demo/src/main/resources/lib/demo.jar to /Users/jalon/.m2/repository/com/javalover/demo/1.0/demo-1.0.jar
[INFO] Installing /var/folders/t6/99ks0lsn0fx2j6kt4n46f_rh0000gn/T/mvninstall6930618999486285918.pom to /Users/jalon/.m2/repository/com/javalover/demo/1.0/demo-1.0.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 1.316 s
[INFO] Finished at: 2021-09-26T22:12:47+08:00
[INFO] ------------------------------------------------------------------------
重点是这一行:
[INFO] Installing /Users/jalon/Project/SpringBootProject/demo/src/main/resources/lib/demo.jar to /Users/jalon/.m2/repository/com/javalover/demo/1.0/demo-1.0.jar`
可以看到,将我们本地的 demo.jar 安装到了 maven 本地仓库中
3. 添加依赖
<dependency>
<groupId>com.javalover</groupId>
<artifactId>demo</artifactId>
<version>1.0</version>
</dependency>
此时程序就可以正常使用 demo.jar 包了,而且 maven 打包也会把 demo.jar 打包进去
参考
Apache Maven Install Plugin – Introduction
maven插件maven-install-plugin - Mars.wang - 博客园 (cnblogs.com)
来源:https://www.cnblogs.com/jalon/p/15350489.html


猜你喜欢
- 当目标数据库不能直连的,需要一个服务器作为中间跳板的时候,我们需要通过SSH通道连接数据库。ps:使用ssh连接,相当于本地开了个端口去连接
- 1、String类1.1两种对象实例化方式对于String在之前已经学习过了基本使用,就是表示字符串,那么当时使用的形式采取了直接赋值:pu
- 在算法面试中,面试官总是喜欢围绕链表、排序、二叉树、二分查找来做文章,而大多数人都可以跟着专业的书籍来做到倒背如流。而面试官并不希望招收的是
- 1. 什么是JvmJVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来
- 1. 问题所示编译ssm的项目的时候出现了这个错误导致一直运行不起来SLF4J: Failed to load class "or
- 当我们要实现丰富的图文混排效果的时候,我们一般会使用webview,这是一个功能十分强大的的控件,来看看官方的解释:A View that
- 类加载器的分类。试验:使用maven打包<build> <plugins> <plu
- 在C#中 “\”是特殊字符,要表示它的话需要使用“\\”。由于这种写法不方便,C#语言提供了@对其简化。只要在字符串前加上@即可直接使用“\
- • 创建目录和文件1、通过Path类的Combine方法可以合并路径。string activeDir = @"C:\myDir&
- DrawingContext比较类似WinForm中的Graphics 类,是基础的绘图对象,用于绘制各种图形,它主要API有如下
- 前言之前写的progress其实根本没有起到进度条的作用,太显眼,而且并不好看,所以有了新的想法,我们将ProgressBar控件换成See
- 文件上传是开发中十分常见的功能,在servlet3.0之前,实现文件上传需要使用一些插件技术,比如:commons-fileuploadsm
- 本文实例讲述了C#实现程序等待延迟执行的方法。分享给大家供大家参考。具体如下:[System.Runtime.InteropServices
- 使用 transient 修饰private transient String noColumn;使用 static 修饰private s
- 1、 流的继承关系,以及字节流和字符流。2、 节点流FileOutputStream和FileInputStream和处理流Buffered
- 本文实例为大家分享了Android自定义view实现TextView方形输入框的具体代码,供大家参考,具体内容如下先奉上最终效果图实现思路分
- 1.什么是继承?(1)用来提高代码的复用性(2)将相同的功能模块封装到方法中需要使用时调用方法达到代码复用的目的(3)通过继承将多个类中的相
- 项目开发中,经常会遇到定时任务的场景,Spring提供了@Scheduled注解,方便进行定时任务的开发概述要使用@Scheduled注解,
- primary_text_yellow.xml <?xml version="1.0" encoding=&quo
- 使用正则表达式进行替换:代码片段:String documentTxt = EntityUtils.toString(entity,&quo