最近在做一个含支付宝支付的项目,架构用的是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 天前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐