您的位置 首页 java

Springboot如何引本地jar包并通过maven把项目打包成jar包部署

问题描述

最近尝试引入 阿里云 的短信验证码,阿里云的core sdk是 maven 就有的,但是短信相关的jar包却不是放在maven的,所以得引入本地的下载回来的jar包。本地开发直接引入, idea 是可以直接跑调用是没问题的。但是打成jar包部署的时候,项目能跑,但是到关键的调用短信sdk的时候就爆ClassNofFoundException错误。看了很多网上的帖子,很多都说用plugin 中resource来弄,对我的项目一点鸟用也没有。最后还是在stackoverflow上找到了答案,所以做了以下总结。


解决

如何引入本地jar包

1.在resources下面新建lib文件夹,并把jar包文件放到这个目录下

2.在 pom 文件定义几个依赖指向刚才引入的文件

<dependency>
 <groupId>com.aliyun.alicom</groupId>
 <artifactId>alicom-mns-receive-sdk</artifactId>
 <version>0.0.1-SNAPSHOT</version>
 <scope>system</scope>
 <systemPath>${project.basedir}/src/main/resources/lib/alicom-mns-receive-sdk-1.0.0.jar</systemPath>
 </dependency>
 <dependency>
 <groupId>com.aliyun.mns</groupId>
 <artifactId>aliyun-sdk-mns</artifactId>
 <version>1.1.8</version>
 <scope>system</scope>
 <systemPath>${project.basedir}/src/main/resources/lib/aliyun-sdk-mns-1.1.8.jar</systemPath>
 </dependency>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 

注意:重点是systemPath这个路径必须得是你jar的路径。其他的按照套路填就行,要求不是太严格。${project.basedir}只是一个系统自己的常量,不用管它


如何把项目打成jar,同时把本地jar包也引入进去

直接在maven的pom里给springboot的打包插件引入一下参数就行

<includeSystemScope>true</includeSystemScope>
1
 

总体是这样的

< build >
 <plugins>
 <plugin>
 <groupId>org.springframework.boot</groupId>
 <artifactId>spring-boot-maven-plugin</artifactId>
 < configuration >
 <includeSystemScope>true</includeSystemScope>
 </configuration>
 </plugin>
 </plugins>
 </build>
 

文章来源:智云一二三科技

文章标题:Springboot如何引本地jar包并通过maven把项目打包成jar包部署

文章地址:https://www.zhihuclub.com/193590.shtml

关于作者: 智云科技

热门文章

网站地图