欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java.lang.NoClassDefFoundError: com/alipay/api/AlipayRequest

程序员文章站 2022-07-14 08:51:52
...

背景:

我把支付模块部署在linux平台上之后,发现无法调用成功,通过观察Catalina.sh发现该模块运行出错误了,主要是以下两个错误:

org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/pay]]
java.lang.NoClassDefFoundError: com/alipay/api/AlipayRequest

解决:

我在CSDN上面看到一位小伙伴的文章:关于 Caused by: java.lang.NoClassDefFoundError: com/alipay/api/AlipayApiException 解决办法,它说可能是支付宝的jar包你没有引入,我想到支付宝jar包是在static下面放着呢,如下图:
java.lang.NoClassDefFoundError: com/alipay/api/AlipayRequest在pom.xml文件中找该jar包的方法是:
java.lang.NoClassDefFoundError: com/alipay/api/AlipayRequest
本地运行是没有错误的,但是在linux平台上该模块就启动失败了,所以我估计打war包的时候支付宝的jar包没有打进去,然后我进入linux平台中支付模块所在的tomcat中的webapps—》WEB-INF—》lib,发现里面确实没有支付宝的jar包,如下图:
java.lang.NoClassDefFoundError: com/alipay/api/AlipayRequest
然后我通过rz命令去上传了支付宝jar包,重新启动tomcat,没有在出现错误了,估计是模块运行的时候只会去总jar包文件夹下面找jar包,由于打war包的时候没有把支付宝宝jar包打进去,那就无法找到该jar包了,最终导致运行错误

相关标签: java学习之路