springboot项目中引入本地依赖jar包并打包到lib文件夹中

 更新时间:2023年04月12日 10:06:33   作者:kyrielx  
这篇文章主要介绍了springboot项目中引入本地依赖jar包,如何打包到lib文件夹中,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

前言:

工作中,碰到过springboot框架构建的java web项目,需要集成第三方推送功能,于是使用到了小米推送服务,下载了相关jar包。项目中引入本地jar,问题不大,编写完代码后,通过测试类测试,也没问题。然后就准备打包部署到开发服上。由于项目是通过tomcat部署的,所以打包方式是打成war包。打包后上传到开发服,启动成功后去测试编写的推送接口,发现失败了。

通过分析发现,打包后的war中存放项目依赖jar的lib目录中并没有本地引入的推送相关的jar包。折腾了半个小时,才解决了问题。解决后才发现,其实是对maven这块的基础知识有点遗忘了。这里总结下springboot项目引入本地jar包,如何通过maven打包将jar打进lib文件夹中:

1.首先在resources目录下创建一个lib文件夹,将需要的jar包放入lib文件夹中

在这里插入图片描述

2.在pom.xml文件中,添加依赖坐标。

注意:这里由于导入的本地jar,所以< dependency></ dependency>标签中需要添加

<dependency>
	...
	<!-- 表示当前jar是外部引入的,maven不会在repository查找它 -->
	<scope>system</scope>
	<!-- 指定引入的外部jar存放的路径,一般将jar包放在项目的某个目录下,通过相对路径指定 -->
	<systemPath>...</systemPath>
</dependency>

在这里插入图片描述

3.在pom的< build></ build>标签中还需进行如下修改

<build>
	<finalName>xxxxxx</finalName>
	<plugins>
		<!--配置将第三方jar打进jar包中,跟<packaging>jar</packaging>配合,如果不写,springboot默认是打成jar包-->
		<!--<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
				<configuration>
					<!-- 项目中单独引入第三方jar时,includeSystemScope值要为true 
					<includeSystemScope>true</includeSystemScope>
				</configuration>
			</plugin>-->
			
		<!-- 打war包 -->
		<plugin>
			<groupId>org.apache.maven.plugins</groupId>
			<artifactId>maven-war-plugin</artifactId>
			<version>3.2.2</version>
			<configuration>
				<webResources>
					<!-- 配置将第三方jar打进war包中,跟<packaging>war</packaging>配合 -->
					<webResource>
						<directory>${pom.basedir}/src/main/resources/lib/</directory>
						<targetPath>WEB-INF/lib/</targetPath>
						<includes>
							<include>**/*.jar</include>
						</includes>
					</webResource>
				</webResources>
			</configuration>
		</plugin>
	</plugins>
</build>

根据项目需要,打成jar包部署或war包部署,需要引入不同的插件,添加不同的配置。如果需要打成war包,不要忘了在pom.xml文件中添加< packaging >war</ packaging>配置。

4.打包部署后测试验证

可以通过调用相关接口测试,也可直接观察部署包中lib文件夹中是否存在引入的本地jar来判定

到此这篇关于springboot项目中引入本地依赖jar包,如何打包到lib文件夹中的文章就介绍到这了,更多相关springboot引入本地依赖jar包内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Java8语法糖之Lambda表达式的深入讲解

    Java8语法糖之Lambda表达式的深入讲解

    这篇文章主要给大家介绍了关于Java8语法糖之Lambda表达式的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • Java之IO流面试题案例讲解

    Java之IO流面试题案例讲解

    这篇文章主要介绍了Java之IO流案例讲解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07
  • Mybatis返回值(resultType&resultMap)的具体使用

    Mybatis返回值(resultType&resultMap)的具体使用

    返回值属性有两种设置,一种是resultType,一种是resultMap,本文主要介绍了Mybatis返回值(resultType&resultMap)的具体使用,具有一定的参考价值,感兴趣的可以了解一下
    2023-08-08
  • 学习Java中的List集合

    学习Java中的List集合

    这篇文章主要介绍了学习Java中的List集合,List是一个有序集合, 说是集合,其实只是只是Collection接口的一个子接口,下面关于List的相关资料 需要的小伙伴可以参考一下,希望对你有所帮助
    2022-02-02
  • java使用selenium自动化WebDriver等待的示例代码

    java使用selenium自动化WebDriver等待的示例代码

    显式等待和隐式等待是WebDriver中两种常用的等待方式,它们都可以用来等待特定的条件满足后再继续执行代码,本文给大家介绍java使用selenium自动化WebDriver等待,感兴趣的朋友一起看看吧
    2023-09-09
  • SpringBoot+Redis队列实现Java版秒杀的示例代码

    SpringBoot+Redis队列实现Java版秒杀的示例代码

    本文主要介绍了SpringBoot+Redis队列实现Java版秒杀的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • 详解Spring中@Autowired注解是如何实现的

    详解Spring中@Autowired注解是如何实现的

    在使用java config的过程当中,我们不可避免地会有各种各样的注解打交道,其中,我们使用最多的注解应该就是@Autowired注解了,这篇文章就来和大家聊聊它到底怎么实现的吧
    2023-07-07
  • 详解Java编程中线程同步以及定时启动线程的方法

    详解Java编程中线程同步以及定时启动线程的方法

    这篇文章主要介绍了详解Java编程中线程同步以及定时启动线程的方法, 讲到了wait()与notify()方法以及阻塞队列等知识,需要的朋友可以参考下
    2016-01-01
  • Javaweb实现完整个人博客系统流程

    Javaweb实现完整个人博客系统流程

    这篇文章主要介绍了怎样用Java来实现一个完整的个人博客系统,我们通过实操上手的方式可以高效的巩固所学的基础知识,感兴趣的朋友一起来看看吧
    2022-03-03
  • Java实现办公文档在线预览功能

    Java实现办公文档在线预览功能

    java实现办公文件在线预览功能是一个大家在工作中也许会遇到的需求,这篇文章就教大家如何实现这一功能,感兴趣的小伙伴可以了解一下
    2021-12-12

最新评论