解决Spring-boot 引入系统包导致的java.lang.NoClassDefFoundError
spring-boot
spring-projects/spring-boot: 是一个用于简化Spring应用开发的框架。适合用于需要快速开发企业级Java应用的项目。特点是可以提供自动配置、独立运行和内置的Tomcat服务器,简化Spring应用的构建和部署。
项目地址:https://gitcode.com/gh_mirrors/sp/spring-boot
免费下载资源
·
最近在做一个含支付宝支付的项目,架构用的是Spring-boot;支付宝官网提供一个支付SDK jar下载使用,把jar直接拷贝到项目中引用使用。jar包放resources下的jar文件夹
<dependency>
<groupId>com.alipay</groupId>
<artifactId>alipay-sdk-java</artifactId>
<version>3.0.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/resources/jar/alipay-sdk-java-3.0.0.jar</systemPath>
</dependency>
项目本地启动好好的,但构建项目jar并启动的时候就有问题了,报一个java.lang.NoClassDefFoundError: com/alipay/api/AlipayApiException错误,这种情况根据经验可以判断我放resources下SDK jar包在maven构建项目jar时被忽略了。
使用WinRar等解压工具查看构建的项目jar【目录路径BOOT-INF/lib】可以查看到支付宝SDK并没有被构建到此文件夹。
解决办法
修改pom.xml,添加resources声明
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
<resources>
<resource>
<directory>src/main/resources/jar</directory>
<targetPath>BOOT-INF/lib/</targetPath>
<includes>
<include>**/*.jar</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<targetPath>BOOT-INF/classes/</targetPath>
</resource>
</resources>
</build>
end
推荐文章:
1:程序员如何脱单?看完脱单率至少增加80%
2:【小项目】Spring boot基于Redis缓存商城分类,商品信息
3:Java基于Redis实现“附近的人”
GitHub 加速计划 / sp / spring-boot
73.97 K
40.4 K
下载
spring-projects/spring-boot: 是一个用于简化Spring应用开发的框架。适合用于需要快速开发企业级Java应用的项目。特点是可以提供自动配置、独立运行和内置的Tomcat服务器,简化Spring应用的构建和部署。
最近提交(Master分支:1 个月前 )
fdf24c6c
Closes gh-42976
5 天前
3c42ba8c
* pr/42974:
Fix copyright year of updated file
Polish
Closes gh-42974
5 天前
更多推荐
已为社区贡献3条内容
所有评论(0)