2025-12-23 10:39:21.374 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - ╔══════════════════════════════════════════════════════════╗ ║ ║ ║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ ║ ║ ╚══════════════════════════════════════════════════════════╝ org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) at java.base/java.lang.Iterable.forEach(Iterable.java:75) at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) 2025-12-23 10:41:06.695 [http-nio-8082-exec-4] ERROR com.mtkj.mtpay.exception.GlobalExceptionHandler - 运行时异常 org.springframework.jdbc.BadSqlGrammarException: ### Error updating database. Cause: java.sql.SQLSyntaxErrorException: Table 'mtpay.customer_order' doesn't exist ### The error may exist in com/mtkj/mtpay/mapper/CustomerOrderMapper.java (best guess) ### The error may involve com.mtkj.mtpay.mapper.CustomerOrderMapper.insert-Inline ### The error occurred while setting parameters ### SQL: INSERT INTO customer_order ( order_no, product_id, product_name, sku_id, sku_name, quantity, unit_price, total_amount, currency, status, customer_name, customer_phone, customer_email, shipping_name, shipping_phone, shipping_country, shipping_state, shipping_city, shipping_street, shipping_postcode, payment_status, create_time, update_time ) VALUES ( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? ) ### Cause: java.sql.SQLSyntaxErrorException: Table 'mtpay.customer_order' doesn't exist ; bad SQL grammar [] at org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTranslator.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:246) at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:107) at org.mybatis.spring.MyBatisExceptionTranslator.translateExceptionIfPossible(MyBatisExceptionTranslator.java:92) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:439) at jdk.proxy2/jdk.proxy2.$Proxy76.insert(Unknown Source) at org.mybatis.spring.SqlSessionTemplate.insert(SqlSessionTemplate.java:272) at com.baomidou.mybatisplus.core.override.MybatisMapperMethod.execute(MybatisMapperMethod.java:59) at com.baomidou.mybatisplus.core.override.MybatisMapperProxy$PlainMethodInvoker.invoke(MybatisMapperProxy.java:152) at com.baomidou.mybatisplus.core.override.MybatisMapperProxy.invoke(MybatisMapperProxy.java:89) at jdk.proxy3/jdk.proxy3.$Proxy83.insert(Unknown Source) at com.mtkj.mtpay.service.impl.CustomerOrderServiceImpl.createOrder(CustomerOrderServiceImpl.java:94) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:352) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:765) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:123) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:385) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:119) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:765) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:717) at com.mtkj.mtpay.service.impl.CustomerOrderServiceImpl$$SpringCGLIB$$0.createOrder() at com.mtkj.mtpay.controller.CustomerOrderController.createOrder(CustomerOrderController.java:29) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:254) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:182) 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:917) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:829) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) 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.doPost(FrameworkServlet.java:914) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) 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:205) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) 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:174) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) 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:174) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) 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:174) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) 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:482) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) 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:340) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.base/java.lang.Thread.run(Thread.java:842) Caused by: java.sql.SQLSyntaxErrorException: Table 'mtpay.customer_order' doesn't exist at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:121) at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122) at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:916) at com.mysql.cj.jdbc.ClientPreparedStatement.execute(ClientPreparedStatement.java:354) at com.alibaba.druid.pool.DruidPooledPreparedStatement.execute(DruidPooledPreparedStatement.java:483) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.apache.ibatis.logging.jdbc.PreparedStatementLogger.invoke(PreparedStatementLogger.java:58) at jdk.proxy4/jdk.proxy4.$Proxy98.execute(Unknown Source) at org.apache.ibatis.executor.statement.PreparedStatementHandler.update(PreparedStatementHandler.java:48) at org.apache.ibatis.executor.statement.RoutingStatementHandler.update(RoutingStatementHandler.java:75) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:61) at jdk.proxy2/jdk.proxy2.$Proxy96.update(Unknown Source) at org.apache.ibatis.executor.SimpleExecutor.doUpdate(SimpleExecutor.java:50) at org.apache.ibatis.executor.BaseExecutor.update(BaseExecutor.java:117) at org.apache.ibatis.executor.CachingExecutor.update(CachingExecutor.java:76) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.apache.ibatis.plugin.Invocation.proceed(Invocation.java:61) at com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor.intercept(MybatisPlusInterceptor.java:106) at org.apache.ibatis.plugin.Plugin.invoke(Plugin.java:59) at jdk.proxy2/jdk.proxy2.$Proxy95.update(Unknown Source) at org.apache.ibatis.session.defaults.DefaultSqlSession.update(DefaultSqlSession.java:197) at org.apache.ibatis.session.defaults.DefaultSqlSession.insert(DefaultSqlSession.java:184) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.mybatis.spring.SqlSessionTemplate$SqlSessionInterceptor.invoke(SqlSessionTemplate.java:425) ... 73 common frames omitted 2025-12-23 10:45:42.541 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - ╔══════════════════════════════════════════════════════════╗ ║ ║ ║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ ║ ║ ╚══════════════════════════════════════════════════════════╝ org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) at java.base/java.lang.Iterable.forEach(Iterable.java:75) at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) 2025-12-23 10:46:24.286 [http-nio-8082-exec-3] ERROR com.mtkj.mtpay.exception.GlobalExceptionHandler - 运行时异常 java.lang.IllegalArgumentException: Username must not be null at org.springframework.util.Assert.notNull(Assert.java:172) at org.springframework.http.HttpHeaders.encodeBasicAuth(HttpHeaders.java:1927) at org.springframework.http.HttpHeaders.setBasicAuth(HttpHeaders.java:802) at com.mtkj.mtpay.service.impl.PayPalServiceImpl.getAccessToken(PayPalServiceImpl.java:58) at com.mtkj.mtpay.service.impl.PayPalServiceImpl.createOrder(PayPalServiceImpl.java:99) at com.mtkj.mtpay.controller.PayPalController.createOrder(PayPalController.java:43) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:254) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:182) 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:917) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:829) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) 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.doPost(FrameworkServlet.java:914) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) 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:205) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) 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:174) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) 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:174) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) 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:174) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) 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:482) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) 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:340) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.base/java.lang.Thread.run(Thread.java:842) 2025-12-23 10:48:42.753 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - ╔══════════════════════════════════════════════════════════╗ ║ ║ ║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ ║ ║ ╚══════════════════════════════════════════════════════════╝ org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) at java.base/java.lang.Iterable.forEach(Iterable.java:75) at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) 2025-12-23 10:48:51.137 [http-nio-8082-exec-1] ERROR com.mtkj.mtpay.service.impl.PayPalServiceImpl - PayPal Client ID未配置,请检查application.yml中的paypal.client-id配置 2025-12-23 10:49:01.643 [http-nio-8082-exec-4] ERROR com.mtkj.mtpay.service.impl.PayPalServiceImpl - PayPal Client ID未配置,请检查application.yml中的paypal.client-id配置 2025-12-23 10:53:03.324 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - ╔══════════════════════════════════════════════════════════╗ ║ ║ ║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ ║ ║ ╚══════════════════════════════════════════════════════════╝ org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) at java.base/java.lang.Iterable.forEach(Iterable.java:75) at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) 2025-12-23 10:53:53.918 [http-nio-8082-exec-1] ERROR com.mtkj.mtpay.service.impl.PayPalServiceImpl - PayPal Client ID未配置,请检查application.yml中的paypal.client-id配置 2025-12-23 11:01:26.424 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - ╔══════════════════════════════════════════════════════════╗ ║ ║ ║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ ║ ║ ╚══════════════════════════════════════════════════════════╝ org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) at java.base/java.lang.Iterable.forEach(Iterable.java:75) at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) 2025-12-23 11:01:28.929 [http-nio-8082-exec-1] ERROR com.mtkj.mtpay.service.impl.PayPalServiceImpl - PayPal Client ID未配置,请检查application.yml中的paypal.client-id配置 2025-12-23 11:04:26.683 [restartedMain] ERROR o.s.b.diagnostics.LoggingFailureAnalysisReporter - *************************** APPLICATION FAILED TO START *************************** Description: Parameter 0 of constructor in com.mtkj.mtpay.controller.PayPalController required a bean of type 'com.mtkj.mtpay.service.PayPalService' that could not be found. Action: Consider defining a bean of type 'com.mtkj.mtpay.service.PayPalService' in your configuration. 2025-12-23 11:04:26.684 [restartedMain] ERROR com.mtkj.mtkjpay.MtkjpayApplication - ╔══════════════════════════════════════════════════════════╗ ║ ║ ║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ ║ ║ ╚══════════════════════════════════════════════════════════╝ org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'payPalController' defined in file [E:\MTKJPAY\mt-pay\target\classes\com\mtkj\mtpay\controller\PayPalController.class]: Unsatisfied dependency expressed through constructor parameter 0: No qualifying bean of type 'com.mtkj.mtpay.service.PayPalService' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {} at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:802) at org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:241) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1356) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1193) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:563) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:523) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:325) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:323) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:973) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:946) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:616) at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:753) at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:455) at org.springframework.boot.SpringApplication.run(SpringApplication.java:323) at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:50) Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.mtkj.mtpay.service.PayPalService' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {} at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoMatchingBeanFound(DefaultListableBeanFactory.java:1878) at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1404) at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1348) at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:911) at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:789) ... 22 common frames omitted 2025-12-23 11:04:28.473 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 2025-12-23 11:04:28.473 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientId = null 2025-12-23 11:04:28.474 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 2025-12-23 11:04:28.474 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientSecret = null 2025-12-23 11:04:28.747 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 2025-12-23 11:04:28.747 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientId = null 2025-12-23 11:04:28.747 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 2025-12-23 11:04:28.747 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientSecret = null 2025-12-23 11:04:41.817 [restartedMain] ERROR o.s.b.diagnostics.LoggingFailureAnalysisReporter - *************************** APPLICATION FAILED TO START *************************** Description: Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. Reason: Failed to determine suitable jdbc url Action: Consider the following: If you want an embedded database (H2, HSQL or Derby), please put it on the classpath. If you have database settings to be loaded from a particular profile you may need to activate it (the profiles dev are currently active). 2025-12-23 11:04:41.817 [restartedMain] ERROR com.mtkj.mtkjpay.MtkjpayApplication - ╔══════════════════════════════════════════════════════════╗ ║ ║ ║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ ║ ║ ╚══════════════════════════════════════════════════════════╝ org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Generic.class]: Failed to instantiate [javax.sql.DataSource]: Factory method 'dataSource' threw exception with message: Failed to determine suitable jdbc url at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:655) at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:643) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1336) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1166) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:563) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:523) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:325) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:323) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:973) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:946) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:616) at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:753) at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:455) at org.springframework.boot.SpringApplication.run(SpringApplication.java:323) at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:50) Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [javax.sql.DataSource]: Factory method 'dataSource' threw exception with message: Failed to determine suitable jdbc url at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:178) at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:651) ... 22 common frames omitted Caused by: org.springframework.boot.autoconfigure.jdbc.DataSourceProperties$DataSourceBeanCreationException: Failed to determine suitable jdbc url at org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.determineUrl(DataSourceProperties.java:232) at org.springframework.boot.autoconfigure.jdbc.PropertiesJdbcConnectionDetails.getJdbcUrl(PropertiesJdbcConnectionDetails.java:44) at org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration.createDataSource(DataSourceConfiguration.java:56) at org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Generic.dataSource(DataSourceConfiguration.java:193) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:140) ... 23 common frames omitted 2025-12-23 11:04:47.431 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 2025-12-23 11:04:47.431 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientId = null 2025-12-23 11:04:47.431 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 2025-12-23 11:04:47.431 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientSecret = null 2025-12-23 11:04:47.722 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 2025-12-23 11:04:47.722 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientId = null 2025-12-23 11:04:47.722 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 2025-12-23 11:04:47.722 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientSecret = null 2025-12-23 11:04:58.359 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 2025-12-23 11:04:58.359 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientId = null 2025-12-23 11:04:58.359 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 2025-12-23 11:04:58.359 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientSecret = null 2025-12-23 11:04:58.979 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 2025-12-23 11:04:58.979 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientId = null 2025-12-23 11:04:58.979 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 2025-12-23 11:04:58.979 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientSecret = null 2025-12-23 11:04:59.326 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - ╔══════════════════════════════════════════════════════════╗ ║ ║ ║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ ║ ║ ╚══════════════════════════════════════════════════════════╝ org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) at java.base/java.lang.Iterable.forEach(Iterable.java:75) at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) 2025-12-23 11:05:05.589 [http-nio-8082-exec-1] ERROR com.mtkj.mtpay.service.impl.PayPalServiceImpl - PayPal Client ID未配置! 2025-12-23 11:05:05.589 [http-nio-8082-exec-1] ERROR com.mtkj.mtpay.service.impl.PayPalServiceImpl - 配置属性对象: PayPalProperties(clientId=null, clientSecret=null, mode=sandbox, sandboxBaseUrl=https://api-m.sandbox.paypal.com, productionBaseUrl=https://api-m.paypal.com, enabled=true, webhookId=null) 2025-12-23 11:05:05.594 [http-nio-8082-exec-1] ERROR com.mtkj.mtpay.service.impl.PayPalServiceImpl - 请检查application-dev.yml中的paypal.client-id配置 2025-12-23 11:06:43.064 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 2025-12-23 11:06:43.064 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientId = null 2025-12-23 11:06:43.064 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 2025-12-23 11:06:43.064 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientSecret = null 2025-12-23 11:06:43.681 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 2025-12-23 11:06:43.681 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientId = null 2025-12-23 11:06:43.681 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 2025-12-23 11:06:43.681 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientSecret = null 2025-12-23 11:06:44.113 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - ╔══════════════════════════════════════════════════════════╗ ║ ║ ║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ ║ ║ ╚══════════════════════════════════════════════════════════╝ org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) at java.base/java.lang.Iterable.forEach(Iterable.java:75) at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) 2025-12-23 11:08:10.673 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 2025-12-23 11:08:10.673 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientId = 2025-12-23 11:08:10.673 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 2025-12-23 11:08:10.673 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientSecret = 2025-12-23 11:08:11.265 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 2025-12-23 11:08:11.265 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientId = 2025-12-23 11:08:11.265 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 2025-12-23 11:08:11.266 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientSecret = 2025-12-23 11:08:11.667 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - ╔══════════════════════════════════════════════════════════╗ ║ ║ ║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ ║ ║ ╚══════════════════════════════════════════════════════════╝ org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) at java.base/java.lang.Iterable.forEach(Iterable.java:75) at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) 2025-12-23 11:12:00.641 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 2025-12-23 11:12:00.641 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientId = null 2025-12-23 11:12:00.641 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 2025-12-23 11:12:00.641 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientSecret = null 2025-12-23 11:12:01.354 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 2025-12-23 11:12:01.354 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientId = null 2025-12-23 11:12:01.354 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 2025-12-23 11:12:01.354 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientSecret = null 2025-12-23 11:12:01.733 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - ╔══════════════════════════════════════════════════════════╗ ║ ║ ║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ ║ ║ ╚══════════════════════════════════════════════════════════╝ org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) at java.base/java.lang.Iterable.forEach(Iterable.java:75) at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) 2025-12-23 11:14:22.777 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.clientId配置 2025-12-23 11:14:22.777 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientId = 2025-12-23 11:14:22.778 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.clientSecret配置 2025-12-23 11:14:22.778 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientSecret = 2025-12-23 11:14:23.439 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.clientId配置 2025-12-23 11:14:23.439 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientId = 2025-12-23 11:14:23.440 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.clientSecret配置 2025-12-23 11:14:23.440 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - 当前配置值: clientSecret = 2025-12-23 11:14:23.870 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - ╔══════════════════════════════════════════════════════════╗ ║ ║ ║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ ║ ║ ╚══════════════════════════════════════════════════════════╝ org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) at java.base/java.lang.Iterable.forEach(Iterable.java:75) at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) 2025-12-23 11:17:14.359 [restartedMain] ERROR org.springframework.boot.SpringApplication - Application run failed java.lang.IllegalStateException: No ConfigurationProperties annotation found on 'com.mtkj.mtpay.config.PayPalProperties'. at org.springframework.util.Assert.state(Assert.java:97) at org.springframework.boot.context.properties.ConfigurationPropertiesBeanRegistrar.registerBeanDefinition(ConfigurationPropertiesBeanRegistrar.java:87) at org.springframework.boot.context.properties.ConfigurationPropertiesBeanRegistrar.register(ConfigurationPropertiesBeanRegistrar.java:61) at org.springframework.boot.context.properties.ConfigurationPropertiesBeanRegistrar.register(ConfigurationPropertiesBeanRegistrar.java:55) at java.base/java.lang.Iterable.forEach(Iterable.java:75) at org.springframework.boot.context.properties.EnableConfigurationPropertiesRegistrar.registerBeanDefinitions(EnableConfigurationPropertiesRegistrar.java:49) at org.springframework.context.annotation.ImportBeanDefinitionRegistrar.registerBeanDefinitions(ImportBeanDefinitionRegistrar.java:86) at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.lambda$loadBeanDefinitionsFromRegistrars$1(ConfigurationClassBeanDefinitionReader.java:376) at java.base/java.util.LinkedHashMap.forEach(LinkedHashMap.java:721) at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsFromRegistrars(ConfigurationClassBeanDefinitionReader.java:375) at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:148) at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:120) at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:428) at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:289) at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:349) at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:118) at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:775) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:597) at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:753) at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:455) at org.springframework.boot.SpringApplication.run(SpringApplication.java:323) at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:50) 2025-12-23 11:17:14.361 [restartedMain] ERROR com.mtkj.mtkjpay.MtkjpayApplication - ╔══════════════════════════════════════════════════════════╗ ║ ║ ║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ ║ ║ ╚══════════════════════════════════════════════════════════╝ java.lang.IllegalStateException: No ConfigurationProperties annotation found on 'com.mtkj.mtpay.config.PayPalProperties'. at org.springframework.util.Assert.state(Assert.java:97) at org.springframework.boot.context.properties.ConfigurationPropertiesBeanRegistrar.registerBeanDefinition(ConfigurationPropertiesBeanRegistrar.java:87) at org.springframework.boot.context.properties.ConfigurationPropertiesBeanRegistrar.register(ConfigurationPropertiesBeanRegistrar.java:61) at org.springframework.boot.context.properties.ConfigurationPropertiesBeanRegistrar.register(ConfigurationPropertiesBeanRegistrar.java:55) at java.base/java.lang.Iterable.forEach(Iterable.java:75) at org.springframework.boot.context.properties.EnableConfigurationPropertiesRegistrar.registerBeanDefinitions(EnableConfigurationPropertiesRegistrar.java:49) at org.springframework.context.annotation.ImportBeanDefinitionRegistrar.registerBeanDefinitions(ImportBeanDefinitionRegistrar.java:86) at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.lambda$loadBeanDefinitionsFromRegistrars$1(ConfigurationClassBeanDefinitionReader.java:376) at java.base/java.util.LinkedHashMap.forEach(LinkedHashMap.java:721) at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsFromRegistrars(ConfigurationClassBeanDefinitionReader.java:375) at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:148) at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:120) at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:428) at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:289) at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:349) at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:118) at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:775) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:597) at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:753) at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:455) at org.springframework.boot.SpringApplication.run(SpringApplication.java:323) at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:50) 2025-12-23 11:17:14.364 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - ╔══════════════════════════════════════════════════════════╗ ║ ║ ║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ ║ ║ ╚══════════════════════════════════════════════════════════╝ org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) at java.base/java.lang.Iterable.forEach(Iterable.java:75) at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) 2025-12-23 11:19:05.802 [restartedMain] ERROR org.springframework.boot.SpringApplication - Application run failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'payPalProperties': Injection of autowired dependencies failed at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:499) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1420) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:600) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:523) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:325) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:323) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:973) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:946) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:616) at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:753) at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:455) at org.springframework.boot.SpringApplication.run(SpringApplication.java:323) at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:50) Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'paypal.clientId' in value "${paypal.clientId}" at org.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper.java:180) at org.springframework.util.PropertyPlaceholderHelper.replacePlaceholders(PropertyPlaceholderHelper.java:126) at org.springframework.core.env.AbstractPropertyResolver.doResolvePlaceholders(AbstractPropertyResolver.java:239) at org.springframework.core.env.AbstractPropertyResolver.resolveRequiredPlaceholders(AbstractPropertyResolver.java:210) at org.springframework.context.support.PropertySourcesPlaceholderConfigurer.lambda$processProperties$0(PropertySourcesPlaceholderConfigurer.java:200) at org.springframework.beans.factory.support.AbstractBeanFactory.resolveEmbeddedValue(AbstractBeanFactory.java:921) at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1372) at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1348) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:769) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:752) at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:145) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:493) ... 20 common frames omitted 2025-12-23 11:19:05.804 [restartedMain] ERROR com.mtkj.mtkjpay.MtkjpayApplication - ╔══════════════════════════════════════════════════════════╗ ║ ║ ║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ ║ ║ ╚══════════════════════════════════════════════════════════╝ org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'payPalProperties': Injection of autowired dependencies failed at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:499) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1420) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:600) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:523) at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:325) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:323) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:973) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:946) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:616) at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:753) at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:455) at org.springframework.boot.SpringApplication.run(SpringApplication.java:323) at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:50) Caused by: java.lang.IllegalArgumentException: Could not resolve placeholder 'paypal.clientId' in value "${paypal.clientId}" at org.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper.java:180) at org.springframework.util.PropertyPlaceholderHelper.replacePlaceholders(PropertyPlaceholderHelper.java:126) at org.springframework.core.env.AbstractPropertyResolver.doResolvePlaceholders(AbstractPropertyResolver.java:239) at org.springframework.core.env.AbstractPropertyResolver.resolveRequiredPlaceholders(AbstractPropertyResolver.java:210) at org.springframework.context.support.PropertySourcesPlaceholderConfigurer.lambda$processProperties$0(PropertySourcesPlaceholderConfigurer.java:200) at org.springframework.beans.factory.support.AbstractBeanFactory.resolveEmbeddedValue(AbstractBeanFactory.java:921) at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1372) at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1348) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:769) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:752) at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:145) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:493) ... 20 common frames omitted 2025-12-23 11:19:05.805 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - ╔══════════════════════════════════════════════════════════╗ ║ ║ ║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ ║ ║ ╚══════════════════════════════════════════════════════════╝ org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) at java.base/java.lang.Iterable.forEach(Iterable.java:75) at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) 2025-12-23 11:21:49.306 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.clientId配置 2025-12-23 11:21:49.306 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.clientSecret配置 2025-12-23 11:21:50.266 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - ╔══════════════════════════════════════════════════════════╗ ║ ║ ║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ ║ ║ ╚══════════════════════════════════════════════════════════╝ org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) at java.base/java.lang.Iterable.forEach(Iterable.java:75) at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) 2025-12-23 11:22:40.996 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.clientId配置 2025-12-23 11:22:40.996 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.clientSecret配置 2025-12-23 11:22:42.059 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - ╔══════════════════════════════════════════════════════════╗ ║ ║ ║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ ║ ║ ╚══════════════════════════════════════════════════════════╝ org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) at java.base/java.lang.Iterable.forEach(Iterable.java:75) at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) 2025-12-23 11:24:45.032 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.clientId配置 2025-12-23 11:24:45.032 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.clientSecret配置 2025-12-23 11:24:46.005 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - ╔══════════════════════════════════════════════════════════╗ ║ ║ ║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ ║ ║ ╚══════════════════════════════════════════════════════════╝ org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) at java.base/java.lang.Iterable.forEach(Iterable.java:75) at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) 2025-12-23 11:24:54.479 [http-nio-8082-exec-1] ERROR com.mtkj.mtpay.service.impl.PayPalServiceImpl - PayPal Client ID未配置! 2025-12-23 11:24:54.479 [http-nio-8082-exec-1] ERROR com.mtkj.mtpay.service.impl.PayPalServiceImpl - 配置属性对象: PayPalProperties(environment=ApplicationServletEnvironment {activeProfiles=[dev], defaultProfiles=[default], propertySources=[MapPropertySource {name='server.ports'}, ConfigurationPropertySourcesPropertySource {name='configurationProperties'}, StubPropertySource {name='servletConfigInitParams'}, ServletContextPropertySource {name='servletContextInitParams'}, PropertiesPropertySource {name='systemProperties'}, OriginAwareSystemEnvironmentPropertySource {name='systemEnvironment'}, RandomValuePropertySource {name='random'}, OriginTrackedMapPropertySource {name='Config resource 'class path resource [application-dev.yml]' via location 'optional:classpath:/''}, OriginTrackedMapPropertySource {name='Config resource 'class path resource [application.yml]' via location 'optional:classpath:/''}, MapPropertySource {name='devtools'}]}, clientId=, clientSecret=, mode=sandbox, sandboxBaseUrl=https://api-m.sandbox.paypal.com, productionBaseUrl=https://api-m.paypal.com, enabled=true, webhookId=) 2025-12-23 11:24:54.484 [http-nio-8082-exec-1] ERROR com.mtkj.mtpay.service.impl.PayPalServiceImpl - 请检查application-dev.yml中的paypal.client-id配置 2025-12-23 11:28:22.097 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.clientId配置 2025-12-23 11:28:22.097 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.clientSecret配置 2025-12-23 11:28:23.075 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - ╔══════════════════════════════════════════════════════════╗ ║ ║ ║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ ║ ║ ╚══════════════════════════════════════════════════════════╝ org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) at java.base/java.lang.Iterable.forEach(Iterable.java:75) at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) 2025-12-23 11:30:10.759 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.clientId配置 2025-12-23 11:30:10.759 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.clientSecret配置 2025-12-23 11:32:54.127 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.clientId配置 2025-12-23 11:32:54.127 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.clientSecret配置 2025-12-23 11:32:55.116 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - ╔══════════════════════════════════════════════════════════╗ ║ ║ ║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ ║ ║ ╚══════════════════════════════════════════════════════════╝ org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) at java.base/java.lang.Iterable.forEach(Iterable.java:75) at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) 2025-12-23 11:37:38.300 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 2025-12-23 11:37:38.300 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 2025-12-23 11:37:38.663 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 2025-12-23 11:37:38.663 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 2025-12-23 11:37:40.592 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 2025-12-23 11:37:40.592 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 2025-12-23 11:37:40.879 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 2025-12-23 11:37:40.879 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 2025-12-23 11:40:14.297 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 2025-12-23 11:40:14.297 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 2025-12-23 11:40:14.926 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 2025-12-23 11:40:14.926 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 2025-12-23 11:40:15.289 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - ╔══════════════════════════════════════════════════════════╗ ║ ║ ║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ ║ ║ ╚══════════════════════════════════════════════════════════╝ org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) at java.base/java.lang.Iterable.forEach(Iterable.java:75) at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) 2025-12-23 11:45:46.645 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 2025-12-23 11:45:46.646 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 2025-12-23 11:45:47.331 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 2025-12-23 11:45:47.331 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 2025-12-23 11:45:47.697 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - ╔══════════════════════════════════════════════════════════╗ ║ ║ ║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ ║ ║ ╚══════════════════════════════════════════════════════════╝ org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) at java.base/java.lang.Iterable.forEach(Iterable.java:75) at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) 2025-12-23 11:46:55.839 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 2025-12-23 11:46:55.839 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 2025-12-23 11:46:56.516 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 2025-12-23 11:46:56.516 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 2025-12-23 11:46:56.862 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - ╔══════════════════════════════════════════════════════════╗ ║ ║ ║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ ║ ║ ╚══════════════════════════════════════════════════════════╝ org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) at java.base/java.lang.Iterable.forEach(Iterable.java:75) at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) 2025-12-23 13:05:52.471 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 2025-12-23 13:05:52.471 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 2025-12-23 13:11:03.193 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client ID未配置!请检查application-dev.yml中的paypal.client-id配置 2025-12-23 13:11:03.193 [restartedMain] ERROR com.mtkj.mtpay.config.PayPalProperties - ❌ PayPal Client Secret未配置!请检查application-dev.yml中的paypal.client-secret配置 2025-12-23 13:11:03.643 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - ╔══════════════════════════════════════════════════════════╗ ║ ║ ║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ ║ ║ ╚══════════════════════════════════════════════════════════╝ org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) at java.base/java.lang.Iterable.forEach(Iterable.java:75) at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) 2025-12-23 13:11:17.909 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - ╔══════════════════════════════════════════════════════════╗ ║ ║ ║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ ║ ║ ╚══════════════════════════════════════════════════════════╝ org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) at java.base/java.lang.Iterable.forEach(Iterable.java:75) at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) 2025-12-23 13:11:38.663 [http-nio-8082-exec-1] ERROR com.mtkj.mtpay.service.impl.PayPalServiceImpl - 创建PayPal订单异常 org.springframework.web.client.HttpClientErrorException$UnprocessableEntity: 422 Unprocessable Entity: "{"name":"UNPROCESSABLE_ENTITY","details":[{"field":"/purchase_units/@reference_id=='MTN17664579642691703'/amount/breakdown/item_total","location":"body","issue":"ITEM_TOTAL_REQUIRED","description":"If item details are specified (items.unit_amount and items.quantity) corresponding amount.breakdown.item_total is required."}],"message":"The requested action could not be performed, semantically incorrect, or failed business validation.","debug_id":"f829202161e82","links":[{"href":"https://developer.paypal.com/api/rest/reference/orders/v2/errors/#ITEM_TOTAL_REQUIRED","rel":"information_link","method":"GET"}]}" at org.springframework.web.client.HttpClientErrorException.create(HttpClientErrorException.java:133) at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:183) at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:137) at org.springframework.web.client.ResponseErrorHandler.handleError(ResponseErrorHandler.java:63) at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:932) at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:881) at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:781) at org.springframework.web.client.RestTemplate.postForEntity(RestTemplate.java:529) at com.mtkj.mtpay.service.impl.PayPalServiceImpl.createOrder(PayPalServiceImpl.java:137) at com.mtkj.mtpay.controller.PayPalController.createOrder(PayPalController.java:42) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:254) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:182) 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:917) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:829) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) 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.doPost(FrameworkServlet.java:914) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) 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:205) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) 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:174) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) 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:174) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) 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:174) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) 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:482) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) 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:340) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.base/java.lang.Thread.run(Thread.java:842) 2025-12-23 13:46:27.154 [http-nio-8082-exec-2] ERROR com.mtkj.mtpay.service.impl.PayPalServiceImpl - 创建PayPal订单异常 org.springframework.web.client.HttpClientErrorException$UnprocessableEntity: 422 Unprocessable Entity: "{"name":"UNPROCESSABLE_ENTITY","details":[{"field":"/purchase_units/@reference_id=='MTN17664579642691703'/amount/breakdown/item_total","location":"body","issue":"ITEM_TOTAL_REQUIRED","description":"If item details are specified (items.unit_amount and items.quantity) corresponding amount.breakdown.item_total is required."}],"message":"The requested action could not be performed, semantically incorrect, or failed business validation.","debug_id":"f955704b6ad13","links":[{"href":"https://developer.paypal.com/api/rest/reference/orders/v2/errors/#ITEM_TOTAL_REQUIRED","rel":"information_link","method":"GET"}]}" at org.springframework.web.client.HttpClientErrorException.create(HttpClientErrorException.java:133) at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:183) at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:137) at org.springframework.web.client.ResponseErrorHandler.handleError(ResponseErrorHandler.java:63) at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:932) at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:881) at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:781) at org.springframework.web.client.RestTemplate.postForEntity(RestTemplate.java:529) at com.mtkj.mtpay.service.impl.PayPalServiceImpl.createOrder(PayPalServiceImpl.java:137) at com.mtkj.mtpay.controller.PayPalController.createOrder(PayPalController.java:42) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:254) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:182) 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:917) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:829) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) 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.doPost(FrameworkServlet.java:914) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) 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:205) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) 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:174) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) 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:174) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) 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:174) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) 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:482) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) 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:340) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.base/java.lang.Thread.run(Thread.java:842) 2025-12-23 14:15:24.908 [main] ERROR com.mtkj.mtkjpay.MtkjpayApplication - ╔══════════════════════════════════════════════════════════╗ ║ ║ ║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ ║ ║ ╚══════════════════════════════════════════════════════════╝ org.springframework.boot.devtools.restart.SilentExitExceptionHandler$SilentExitException: null at org.springframework.boot.devtools.restart.SilentExitExceptionHandler.exitCurrentThread(SilentExitExceptionHandler.java:92) at org.springframework.boot.devtools.restart.Restarter.immediateRestart(Restarter.java:179) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:163) at org.springframework.boot.devtools.restart.Restarter.initialize(Restarter.java:532) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationStartingEvent(RestartApplicationListener.java:98) at org.springframework.boot.devtools.restart.RestartApplicationListener.onApplicationEvent(RestartApplicationListener.java:51) at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:178) at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:171) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:149) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:137) at org.springframework.boot.context.event.EventPublishingRunListener.multicastInitialEvent(EventPublishingRunListener.java:136) at org.springframework.boot.context.event.EventPublishingRunListener.starting(EventPublishingRunListener.java:75) at org.springframework.boot.SpringApplicationRunListeners.lambda$starting$0(SpringApplicationRunListeners.java:54) at java.base/java.lang.Iterable.forEach(Iterable.java:75) at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:118) at org.springframework.boot.SpringApplicationRunListeners.starting(SpringApplicationRunListeners.java:54) at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) at com.mtkj.mtkjpay.MtkjpayApplication.main(MtkjpayApplication.java:33) 2025-12-23 14:15:35.539 [http-nio-8082-exec-1] ERROR com.mtkj.mtpay.service.impl.PayPalServiceImpl - 创建PayPal订单异常 org.springframework.web.client.HttpClientErrorException$UnprocessableEntity: 422 Unprocessable Entity: "{"name":"UNPROCESSABLE_ENTITY","details":[{"issue":"CURRENCY_NOT_SUPPORTED","description":"Currency code is not currently supported. Please refer https://developer.paypal.com/docs/integration/direct/rest/currency-codes/ for list of supported currency codes."}],"message":"The requested action could not be performed, semantically incorrect, or failed business validation.","debug_id":"f994592ddfc20","links":[{"href":"https://developer.paypal.com/api/rest/reference/orders/v2/errors/#CURRENCY_NOT_SUPPORTED","rel":"information_link"}]}" at org.springframework.web.client.HttpClientErrorException.create(HttpClientErrorException.java:133) at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:183) at org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:137) at org.springframework.web.client.ResponseErrorHandler.handleError(ResponseErrorHandler.java:63) at org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:932) at org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:881) at org.springframework.web.client.RestTemplate.execute(RestTemplate.java:781) at org.springframework.web.client.RestTemplate.postForEntity(RestTemplate.java:529) at com.mtkj.mtpay.service.impl.PayPalServiceImpl.createOrder(PayPalServiceImpl.java:137) at com.mtkj.mtpay.controller.PayPalController.createOrder(PayPalController.java:42) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:568) at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:254) at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:182) 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:917) at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:829) at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1089) 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.doPost(FrameworkServlet.java:914) at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:590) 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:205) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:174) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) 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:174) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) 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:174) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) 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:174) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:149) 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:482) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:115) 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:340) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:391) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:896) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.base/java.lang.Thread.run(Thread.java:842)