java.lang.NoClassDefFoundError: comalipayapiAlipayRequest

    技术2022-07-13  69

    背景:

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

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

    解决:

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

    Processed: 0.018, SQL: 9