SpringBoot 添加本地 jar 文件的操作步骤

前言

有时候我们在项目中,会用到一些本地 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)

到此这篇关于SpringBoot 添加本地 jar 文件的文章就介绍到这了,更多相关SpringBoot 本地 jar 文件内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • springboot打jar包之后下载文件的路径问题

    错误信息 能看到下载的路径中包含了jar包,wlaqWeb-0.0.1-SNAPSHOT.jar! java.io.FileNotFoundException: file:\C:\Users\PENGXIN\Desktop\网络安全\jars\wlaqWeb-0.0.1-SNAPSHOT.jar!\BOOT-INF\classes!\static\securityParameter\template\网络安全台账(模板).xlsx (文件名.目录名或卷标语法不正确.) at java.io.Fi

  • springboot项目打成jar包后无法获取static下的静态资源文件的问题分析

    springboot 后端项目 做某个功能时 需要读取根目录下的.doc文件,具体项目中路径如下: 开始是通过绝对路径读取文档,在本地没有任何问题. 但是 讲项目打成jar包 部署到测试环境发现无论怎样都读取不到,然后在本地运行jar包出现同样的情况. 捕获异常:java.io.FileNotFoundException [org.apache.ibatis.session.defaults.DefaultSqlSession@55b40849] java.io.FileNotFoundExce

  • 解决SpringBoot打成jar运行后无法读取resources里的文件问题

    开发一个word替换功能时,因替换其中的内容功能需要 word 模版,就把 word_replace_tpl.docx 模版文件放到 resources 下 在开发环境中通过下面方法能读取word_replace_tpl.docx文件,但是打成jar包在 linux下运行后无法找到文件了 File file = ResourceUtils.getFile(ResourceUtils.CLASSPATH_URL_PREFIX + "static/office_template/xxx.docx&q

  • 一文解决springboot打包成jar文件无法正常运行的问题

    1.用intellij idea 创建了一个springboot的项目,前期都运行的好好的,在ide中可以正常运行,但是打包成Jar运行却一直报错. 2.经过不懈探索,终于找到解决办法 3.首先,找到pom.xml,把下面的build块中的内容改成如下所示 <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-

  • SpringBoot上传文件到本服务器 目录与jar包同级问题

    前言 看标题好像很简单的样子,但是针对使用jar包发布SpringBoot项目就不一样了. 当你使用tomcat发布项目的时候,上传文件存放会变得非常简单,因为你可以随意操作项目路径下的资源.但是当你使用SpringBoot的jar包发布项目的时候,你会发现,你不能像以前一样操作文件了.当你使用File file = new File()的时候根本不知道这个路径怎么办.而且总不能很小的项目也给它构建一个文件服务器吧.所以这次就来解决这样的问题. 不想知道细节的,可以直接跳转到最后封装的部分,里面

  • Spring Boot项目添加外部Jar包以及配置多数据源的完整步骤

    前言 最近项目需要和Oracle数据库进行交互,然后我从Maven中央仓库下载数据库驱动jar包,但怎么都下不下来,我到Oracle官网上一看,我去,居然不让用Maven直接下(大学时候用过Oracle,很久远的事情了0rz),没办法我还是直接下载jar包放到我的项目里面吧.SpringBoot项目引入外部jar包是非常方便的,包含打引入外部jar等操作. 我的做法如下: 首先在src同级目录建一个lib文件夹,将第三方jar包放到这个文件内,比如我将ojdbc6.jar 这个jar包放到这个地

  • SpringBoot 添加本地 jar 文件的操作步骤

    前言 有时候我们在项目中,会用到一些本地 jar 包文件,比如隔壁公司自己打包的: 此时无法从maven远程仓库拉取: 那么我们可以考虑把 jar 文件安装到本地 maven 库中,然后再添加依赖. 步骤 1. 添加 jar 文件到项目中 在 resources 目录中创建一个 lib 目录,将本地 jar 放进去,如下所示的 demo.jar 2. 安装 jar 包到 maven 本地仓库 这里我们可以利用 maven-install-plugin 插件来安装, pom.xml如下: <bui

  • SpringBoot项目运行jar包启动的步骤流程解析

    SpringBoot项目在开发中,方便快捷,有一点原因就是SpringBoot项目可以打jar包运行:把jar包直接扔服务器上,然后运行jar包就能访问项目接口了.下面介绍SpringBoot项目打jar包运行的步骤流程: 一.我们所熟悉的是在开发环境下,直接用开发工具来运行那个启动类,然后就能启动这个项目: 开发环境下启动项目 二. SpringBoot项目打jar包方法: [1]在cmd界面中,进入项目的本地存储地址 cmd命令下进入项目地址 [2]运行maven的打包命令,mvn clea

  • Springboot导入本地jar后 打包依赖无法加入的解决方案

    目录 Springboot导入本地jar后 打包依赖无法加入 1.本地jar包 2.pom文件添加自定义jar包导入 3.添加 项目引入本地jar包,并设置maven打包一并打入 pom文件中引入本地jar包依赖 在springboot的maven工具增加includeSystemScope功能 Springboot导入本地jar后 打包依赖无法加入 1.本地jar包 2.pom文件添加自定义jar包导入 <!--自定义jar--> <dependency> <groupId

  • Maven导入本地jar包的实现步骤

    目录 1. 在本地maven仓库安装本地jar包 2.把本地jar包放在项目的某个目录中 3.使用scope system依赖 参考资料 软件项目管理和发布工具Maven给java的开发带来了很多的方便.需要引用其他jar包的时候只需要在pom.xml添加相关的依赖,maven就会自动解析依赖.下载jar包,更新jar包也只需要修改version字段,大大简化了jar包的引用.但是有时候我们要用的某几个包在maven上不存在,只能下载jar包到本地并添加到java项目中,然而问题随之而来:mav

  • Maven pom.xml 添加本地jar包依赖以及打包方法

    Maven项目打包时,如果遇到需要添加本地jar包依赖的时候,可以选择两种方法: 1. 安装到本地仓库 第一种方法比较常规,适用于需要添加的jar包也是由maven项目导出,含有pom文件的时候.只需要将jar包安装到本地maven仓库下,然后添加依赖即可. (1)安装到本地仓库,执行以下命令(其中的-Dfile/-DgroupId/-DartifactId/-Dversion项根据pom文件内容填写): mvn install:install-file -Dfile=xxxxx.jar -Dg

  • Android.mk文件中添加第三方jar文件的方法

    先添加: LOCAL_STATIC_JAVA_LIBRARIES += clib clib为jar文件名,没有后缀 然后下面语句中间添加 LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES :=clib:libs/clib.jar include $(CLEAR_VARS) include $(BUILD_MULTI_PREBUILT) 即: include $(CLEAR_VARS) LOCAL_PREBUILT_STATIC_JAVA_LIBRARIES := clib

  • 将idea工程打包成jar文件的全步骤

    前言 近日在工作中遇到了一个问题,需要把本地的java文件打成jar包,传到云服务器上运行.于是学习了一下如何在intellijidea中将java工程打成jar包. 步骤如下: *File->PorjectStructure *在ProjectSetings中选择Artifects.点击+号选择jar文件中的Empty选项 *在Name选项中修改jar文件的名字.*然后点击下方的CreatManifest按钮,点击ok(应该默认是当前工程) * 点击Main Class右侧的文件夹图标,选择当

  • SpringBoot thymeleaf eclipse热部署方案操作步骤

    网上找了好多的springboot热部署方案,也尝试了好几种方法,下面是我的成功方案跟大家分享 操作步骤 1.pom中添加热部署依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency&g

  • Redis Cluster添加、删除的完整操作步骤

    前言 最近学习了Redis,发现Redis还是挺好玩的,今天测试了集群的添加.删除节点.重分配slot等.更深入的理解redis的游戏规则.步骤繁多,但是详细,话不多说了,来一起看看详细的介绍吧. 环境解释: 我是在一台Centos 6.9上测试的,各个redis节点以端口号区分.文中针对各个redis,我只是以端口号代表. ~~~~Master Node~~~~~ 172.16.32.116:7000 172.16.32.116:7001 172.16.32.116:7002 ~~~~Slav

随机推荐