【已解决】springboot项目中引入本地依赖jar包,如何打包到lib文件夹中
- 经验分享
- 时间:2023-02-26 12:38
- 3790人已阅读
简介
前言:工作中,碰到过springboot框架构建的javaweb项目,需要集成第三方推送功能,于是使用到了小米推送服务,下载了相关jar包。项目中引入本地jar,问题不大,编写完代码后,通过测试类测试,也没问题。然后就准备打包部署到开发服上。由于项目是通过tomcat部署的,所以打包方式是打成war包。打包后上传到开发服,启动成功后去测试编写的推送接口,发现失败了。通过分析发现,打包后的war中存
🔔🔔🔔好消息!好消息!🔔🔔🔔
有需要的朋友👉:联系凯哥
前言:工作中,碰到过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>
<dependencies> <dependency> <groupId>com.taobao.top</groupId> <artifactId>lippi-oapi-encrpt</artifactId> <version>dingtalk-SNAPSHOT</version> <scope>system</scope> //指定你的jar包路径 <systemPath>${pom.basedir}/lib/lippi-oapi-encrpt.jar</systemPath> </dependency> </dependencies>
配置一个includeSystemScope属性: 设置为 true
<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <!--设置为true,以便把本地的system的jar也包括进来--> <includeSystemScope>true</includeSystemScope> <excludes> <exclude> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> </exclude> </excludes> </configuration> </plugin> </plugins> </build>
第三步:重新,清除,构建,打包 然后发布就OK了