springboot项目怎么引入本地依赖jar包并打包到lib文件夹中
这篇文章主要介绍“springboot项目怎么引入本地依赖jar包并打包到lib文件夹中”,在日常操作中,相信很多人在springboot项目怎么引入本地依赖jar包并打包到lib文件夹中问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”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}/class="lazy" data-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文件夹中”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341