Springboot中引入本地jar包,并通过maven把项目成功打包成jar包部署
2018-08-27 20:30
721 查看
问题描述:
最近尝试引入淘宝授权以及阿里云物联网网关,sdk-core-java、taobao-sdk-java是maven就有的,但是测试环境下taobao-sdk-java这个jar包却不是放在maven的,所以得引入本地的下载回来的jar包。本地开发直接引入,idea是可以直接跑调用是没问题的。但是打成jar包部署的时候,项目能跑,但是到关键的调用淘宝sdk的时候就爆java.lang.NoClassDefFoundError错误。以下是在stackoverflow上找到的答案,在此记录下。
现象:
解决:
如何引入本地jar包
1.在resources下面新建lib文件夹,并把jar包文件放到这个目录下
2.在pom文件定义jar包依赖
[code]<!-- 淘宝授权sdk --> <dependency> <groupId>taobao-sdk-java</groupId> <artifactId>taobao-sdk-java</artifactId> <version>1.0</version> <scope>system</scope> <systemPath>${project.basedir}/src/main/resources/lib/top-api-sdk-dev-tmall-iot-1.0-20180808.091941-1.jar</systemPath> </dependency>
注意:重点是systemPath这个路径必须得是你jar的路径。其他的按照套路填就行,要求不是太严格。${project.basedir}只是一个系统自己的常量,不用管它
如何把项目打成jar,同时把本地jar包也引入进去
直接在maven的pom里给springboot的打包插件引入一下参数就行
[code]<includeSystemScope>true</includeSystemScope>
总体是这样的
[code]<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <version>${version.springboot.maven.plugin}</version> <configuration> <executable>true</executable> <includeSystemScope>true</includeSystemScope> </configuration> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin>
阅读更多
相关文章推荐
- Springboot中如何引入本地jar包,并通过maven把项目成功打包成jar包部署
- Springboot/spring maven引入本地jar包,并成功打包部署
- Spring boot Maven 打包引入本地的jar包
- maven构建的spring boot项目打包成可执行的jar(fat jar)
- 通过Maven构建打包Spring boot,并将config配置文件提取到jar文件外
- spring boot 项目,maven打jar包时,将本地jar一块打入包
- 如何在springboot项目中直接导入本地jar文件而不是远程maven仓库的依赖
- springboot项目的打包部署(gralde和maven)
- springboot web项目打包成 jar包部署在服务器
- 聚合 Spring boot + maven项目打包和linux部署
- 在spring boot项目(maven)中引入其他 spring boot项目(jar)
- Spring boot框架项目,使用maven命令将配置文件打包到jar包外,项目运行读取jar外配置文件
- springboot项目打包部署时把静态资源打包到jar中、或修改静态资源根目录
- springboot怎么使用maven打包时将本地jar包一块打进去
- Springboot或Java web项目使用maven打包时引入外部源
- 通过Maven构建打包Spring boot,并将config配置文件提取到jar文件外
- 通过maven将springboot项目发布为jar包
- springboot项目的打包部署(gralde和maven)
- 通过Maven构建打包Spring boot,并将config配置文件提取到jar文件外