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
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
实现分布式WebSocket集群的方法
![](https://img.aspxhome.com/file/2023/3/82433_0s.png)
Java使用条件语句和循环结构确定控制流(实例)
详解SpringBoot统一响应体解决方案
C#设计模式之职责链模式示例详解
java 读取本地文件实例详解
springboot vue组件开发实现接口断言功能
![](https://img.aspxhome.com/file/2023/9/61869_0s.gif)
Mybatis配置文件之动态SQL配置备忘录
解决BeanUtils.copyProperties无法成功封装的问题
Java的接口和抽象类深入理解
Java实现滑动验证码的示例代码
![](https://img.aspxhome.com/file/2023/0/74890_0s.jpg)
mybatis 报错显示sql中有两个limit的解决
![](https://img.aspxhome.com/file/2023/4/84784_0s.png)
springboot 返回json格式数据时间格式配置方式
如何利用JAVA实现走迷宫程序
![](https://img.aspxhome.com/file/2023/3/62983_0s.png)
详解Spring boot使用Redis集群替换mybatis二级缓存
Quartz与Spring集成的两种方法示例
一篇文章带你深入了解Java类加载
![](https://img.aspxhome.com/file/2023/0/66710_0s.png)
Java进程cpu占用过高问题解决
![](https://img.aspxhome.com/file/2023/7/70337_0s.jpg)
Java多线程实现四种方式原理详解
Java案例之随机验证码功能实现实例
![](https://img.aspxhome.com/file/2023/8/75498_0s.png)
vs2019永久配置opencv开发环境的方法步骤
![](https://img.aspxhome.com/file/2023/2/100302_0s.jpg)