dax-pay
dax-pay copied to clipboard
Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: Cannot find implementation for org.dromara.daxpay.payment.common.convert.PlatformConfigConvert
when request http://localhost:14444/#/login?redirect=/merchant/dashboard:
$ java daxpay-open-client/target/daxpay-open-server.jar
14:39:13,351 |-WARN in ch.qos.logback.core.ConsoleAppender[console] - This appender no longer admits a layout as a sub-component, set an encoder instead.
14:39:13,352 |-WARN in ch.qos.logback.core.ConsoleAppender[console] - To ensure compatibility, wrapping your layout in LayoutWrappingEncoder.
14:39:13,352 |-WARN in ch.qos.logback.core.ConsoleAppender[console] - See also https://logback.qos.ch/codes.html#layoutInsteadOfEncoder for details
______ ______
| _ \ | ___ \
| | | |__ ___ __ | |_/ /_ _ _ _
| | | / _` \ \/ / | __/ _` | | | |
| |/ / (_| |> < | | | (_| | |_| |
|___/ \__,_/_/\_\ \_| \__,_|\__, |
__/ |
|___/
Service: DaxPay 开源版-融合端
Spring Boot Version: 3.5.6
DaxPay Version 3.1.0.beta2
2025-11-18 14:39:134| INFO [] main - o.d.daxpay.client.DaxpayUnionStart| Starting DaxpayUnionStart v3.5.6 using Java 25.0.1 with PID 63986 (/Users/admin/work/dax-pay/daxpay-open-client/target/daxpay-open-server.jar started by admin in /Users/admin/work/dax-pay)
2025-11-18 14:39:134| INFO [] main - o.d.daxpay.client.DaxpayUnionStart| The following 1 profile is active: "dev"
2025-11-18 14:39:141| INFO [] main - o.s.d.r.c.RepositoryConfigurationDelegate| Multiple Spring Data modules found, entering strict repository configuration mode
2025-11-18 14:39:141| INFO [] main - o.s.d.r.c.RepositoryConfigurationDelegate| Bootstrapping Spring Data Redis repositories in DEFAULT mode.
2025-11-18 14:39:141| INFO [] main - o.s.d.r.c.RepositoryConfigurationDelegate| Finished Spring Data repository scanning in 4 ms. Found 0 Redis repository interfaces.
2025-11-18 14:39:143| INFO [] main - c.g.y.a.MybatisPlusJoinAutoConfiguration| MPJ SqlSessionFactory bean definition: sqlSessionFactory factoryBeanName: com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration factoryMethodName: sqlSessionFactory source: com.baomidou.mybatisplus.autoconfigure.MybatisPlusAutoConfiguration.sqlSessionFactory(javax.sql.DataSource)
2025-11-18 14:39:146| INFO [] main - o.s.b.w.e.tomcat.TomcatWebServer| Tomcat initialized with port 9999 (http)
2025-11-18 14:39:146| INFO [] main - o.a.catalina.core.StandardService| Starting service [Tomcat]
2025-11-18 14:39:146| INFO [] main - o.a.catalina.core.StandardEngine| Starting Servlet engine: [Apache Tomcat/10.1.46]
2025-11-18 14:39:147| INFO [] main - o.a.c.c.C.[Tomcat].[localhost].[/]| Initializing Spring embedded WebApplicationContext
2025-11-18 14:39:147| INFO [] main - o.s.b.w.s.c.ServletWebServerApplicationContext| Root WebApplicationContext: initialization completed in 1281 ms
2025-11-18 14:39:148| INFO [] main - c.b.p.c.m.h.DataEncryptTypeHandler| 数据加密处理器未启用
2025-11-18 14:39:148| INFO [] main - com.zaxxer.hikari.HikariDataSource| master - Starting...
2025-11-18 14:39:150| INFO [] main - com.zaxxer.hikari.pool.HikariPool| master - Added connection org.postgresql.jdbc.PgConnection@7e4bbda4
2025-11-18 14:39:150| INFO [] main - com.zaxxer.hikari.HikariDataSource| master - Start completed.
2025-11-18 14:39:150| INFO [] main - c.b.d.d.DynamicRoutingDataSource| dynamic-datasource - add a datasource named [master] success
2025-11-18 14:39:150| INFO [] main - c.b.d.d.DynamicRoutingDataSource| dynamic-datasource initial loaded [1] datasource,primary datasource named [master]
2025-11-18 14:39:153| DEBUG[] main - c.b.p.s.a.cache.SessionCacheFilter| Filter 'sessionCacheFilter' configured for use
2025-11-18 14:39:153| DEBUG[] main - c.b.p.c.h.f.WebHeaderHolderInterceptor| Filter 'cn.bootx.platform.common.headerholder.filter.WebHeaderHolderInterceptor' configured for use
2025-11-18 14:39:153| DEBUG[] main - c.b.p.c.l.h.LogTraceHeaderHolderFilter| Filter 'logTraceHeaderHolderFilter' configured for use
WARNING: A terminally deprecated method in sun.misc.Unsafe has been called
WARNING: sun.misc.Unsafe::allocateMemory has been called by io.netty.util.internal.PlatformDependent0$2 (jar:nested:/Users/admin/work/dax-pay/daxpay-open-client/target/daxpay-open-server.jar/!BOOT-INF/lib/netty-common-4.1.127.Final.jar!/)
WARNING: Please consider reporting this to the maintainers of class io.netty.util.internal.PlatformDependent0$2
WARNING: sun.misc.Unsafe::allocateMemory will be removed in a future release
2025-11-18 14:39:160| INFO [] main - o.d.x.f.s.c.FileStorageServiceBuilder| 加载 Amazon S3 存储平台:amazon-s3
2025-11-18 14:39:163| INFO [] main - o.d.d.p.c.p.DaxPayProperties| 加载平台私钥成功
2025-11-18 14:39:163| INFO [] main - o.d.d.p.c.p.DaxPayProperties| 加载平台公钥成功
2025-11-18 14:39:174| INFO [] main - c.b.m.e.s.MybatisPlusApplicationContextAware| Register ApplicationContext instances org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext@54709809
2025-11-18 14:39:174| INFO [] main - o.d.common.spring.SpringContextUtil| ------SpringContextUtil setApplicationContext-------
2025-11-18 14:39:177| INFO [] main - o.s.b.a.e.web.EndpointLinksResolver| Exposing 1 endpoint beneath base path '/actuator'
2025-11-18 14:39:178| INFO [] main - o.s.b.w.e.tomcat.TomcatWebServer| Tomcat started on port 9999 (http) with context path '/'
2025-11-18 14:39:178| INFO [] main - c.b.p.s.r.d.timer.DelayQueueTimer| 启动延时队列完成
2025-11-18 14:39:178| INFO [] main - o.d.daxpay.client.DaxpayUnionStart| Started DaxpayUnionStart in 4.644 seconds (process running for 4.854)
2025-11-18 14:39:178| INFO [] scheduling-1 - o.s.s.a.AnnotationAsyncExecutionInterceptor| More than one TaskExecutor bean found within the context, and none is named 'taskExecutor'. Mark one of them as primary or name it 'taskExecutor' (possibly as an alias) in order to use it for async processing: [applicationTaskExecutor, taskScheduler]
2025-11-18 14:39:229| INFO [] main - o.d.daxpay.client.DaxpayUnionStart|
----------------------------------------------------------
应用 'dax-pay-union' 运行成功!
Swagger文档: http://10.0.1.170:9999/doc.html
Swagger文档: http://127.0.0.1:9999/doc.html
----------------------------------------------------------
2025-11-18 14:39:335| INFO [] http-nio-9999-exec-1 - o.a.c.c.C.[Tomcat].[localhost].[/]| Initializing Spring DispatcherServlet 'dispatcherServlet'
2025-11-18 14:39:335| INFO [] http-nio-9999-exec-1 - o.s.web.servlet.DispatcherServlet| Initializing Servlet 'dispatcherServlet'
2025-11-18 14:39:335| INFO [] http-nio-9999-exec-1 - o.s.web.servlet.DispatcherServlet| Completed initialization in 3 ms
2025-11-18 14:39:335| WARN [TZj3FoeeDV7E] http-nio-9999-exec-1 - c.b.p.starter.auth.util.SecurityUtil| 获取当前用户失败: 未能读取到有效 token
2025-11-18 14:39:337| ERROR[TZj3FoeeDV7E] http-nio-9999-exec-1 - c.b.p.c.e.h.RestExceptionHandler| 系统错误 Handler dispatch failed: java.lang.ExceptionInInitializerError
jakarta.servlet.ServletException: Handler dispatch failed: java.lang.ExceptionInInitializerError
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1104)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:979)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1014)
at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:903)
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:564)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:885)
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:195)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
at org.dromara.daxpay.payment.common.filter.MchContextLocalFilter.doFilterInternal(MchContextLocalFilter.java:60)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:100)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
at cn.dev33.satoken.filter.SaPathCheckFilterForJakartaServlet.doFilter(SaPathCheckFilterForJakartaServlet.java:55)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:93)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
at org.dromara.daxpay.payment.pay.filter.PaymentContextLocalFilter.doFilterInternal(PaymentContextLocalFilter.java:29)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
at cn.bootx.platform.starter.auth.cache.SessionCacheFilter.doFilterInternal(SessionCacheFilter.java:30)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
at cn.bootx.platform.common.log.handler.LogTraceHeaderHolderFilter.doFilterInternal(LogTraceHeaderHolderFilter.java:36)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
at org.springframework.web.filter.ServerHttpObservationFilter.doFilterInternal(ServerHttpObservationFilter.java:110)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
at cn.bootx.platform.common.headerholder.filter.WebHeaderHolderInterceptor.doFilterInternal(WebHeaderHolderInterceptor.java:48)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
at org.springframework.web.filter.CorsFilter.doFilterInternal(CorsFilter.java:91)
at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:116)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:164)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:140)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:167)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:116)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:398)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:903)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1776)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:975)
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:493)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
at java.base/java.lang.Thread.run(Thread.java:1474)
Caused by: java.lang.ExceptionInInitializerError: null
at org.dromara.daxpay.payment.common.entity.config.PlatformWebsiteConfig.toResult(PlatformWebsiteConfig.java:94)
at org.dromara.daxpay.payment.common.service.config.PlatformConfigService.findWebsiteConfig(PlatformConfigService.java:108)
at org.dromara.daxpay.payment.common.controller.config.PlatformConfigController.getWebsiteConfig(PlatformConfigController.java:76)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:565)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:360)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
at org.springframework.validation.beanvalidation.MethodValidationInterceptor.invoke(MethodValidationInterceptor.java:174)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:728)
at org.dromara.daxpay.payment.common.controller.config.PlatformConfigController$$SpringCGLIB$$0.getWebsiteConfig(<generated>)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
at java.base/java.lang.reflect.Method.invoke(Method.java:565)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:258)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:191)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:991)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:896)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089)
... 70 common frames omitted
Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: Cannot find implementation for org.dromara.daxpay.payment.common.convert.PlatformConfigConvert
at org.mapstruct.factory.Mappers.getMapper(Mappers.java:61)
at org.dromara.daxpay.payment.common.convert.PlatformConfigConvert.<clinit>(PlatformConfigConvert.java:17)
... 91 common frames omitted
Caused by: java.lang.ClassNotFoundException: Cannot find implementation for org.dromara.daxpay.payment.common.convert.PlatformConfigConvert
at org.mapstruct.factory.Mappers.getMapper(Mappers.java:75)
at org.mapstruct.factory.Mappers.getMapper(Mappers.java:58)
... 92 common frames omitted
^C2025-11-18 14:39:408| INFO [] SpringApplicationShutdownHook - o.s.b.w.e.tomcat.GracefulShutdown| Commencing graceful shutdown. Waiting for active requests to complete
2025-11-18 14:39:408| INFO [] tomcat-shutdown - o.s.b.w.e.tomcat.GracefulShutdown| Graceful shutdown complete
2025-11-18 14:39:409| INFO [] SpringApplicationShutdownHook - o.d.x.f.s.core.FileStorageService| 销毁存储平台 amazon-s3 成功
2025-11-18 14:39:409| INFO [] SpringApplicationShutdownHook - c.b.d.d.DynamicRoutingDataSource| dynamic-datasource start closing ....
2025-11-18 14:39:409| INFO [] SpringApplicationShutdownHook - com.zaxxer.hikari.HikariDataSource| master - Shutdown initiated...
2025-11-18 14:39:409| INFO [] SpringApplicationShutdownHook - com.zaxxer.hikari.HikariDataSource| master - Shutdown completed.
2025-11-18 14:39:409| INFO [] SpringApplicationShutdownHook - c.b.d.d.d.DefaultDataSourceDestroyer| dynamic-datasource close the datasource named [master] success,
2025-11-18 14:39:409| INFO [] SpringApplicationShutdownHook - c.b.d.d.DynamicRoutingDataSource| dynamic-datasource all closed success,bye
I found that it was caused by a JDK version issue, so it would be fine to switch to JDK 21, will the project support JDK 25?
我发现这是JDK版本问题引起的,所以切换到JDK 21应该没问题,项目会支持JDK 25吗?
后面会支持,但需要等三方依赖都兼容25了只会才会做支持