2025-12-26 10:31:20.773 [background-preinit] INFO org.hibernate.validator.internal.util.Version - HV000001: Hibernate Validator 8.0.1.Final 2025-12-26 10:31:20.830 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Starting MtkjpayApplication using Java 17.0.12 with PID 23252 (E:\MTKJPAY\mt-startup\target\classes started by 18969 in E:\MTKJPAY) 2025-12-26 10:31:20.831 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - The following 1 profile is active: "dev" 2025-12-26 10:31:22.207 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] 2025-12-26 10:31:22.210 [restartedMain] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] 2025-12-26 10:31:22.210 [restartedMain] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.16] 2025-12-26 10:31:22.266 [restartedMain] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-12-26 10:31:22.333 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ 2025-12-26 10:31:22.333 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: 2025-12-26 10:31:22.333 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: ✅ 已配置 (AdGYUZpvLuHR30dybOAp...) 2025-12-26 10:31:22.335 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: ✅ 已配置 (ENblspyRmwsOU_PWFurl...) 2025-12-26 10:31:22.335 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox 2025-12-26 10:31:22.335 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true 2025-12-26 10:31:22.335 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Base URL: https://api-m.sandbox.paypal.com 2025-12-26 10:31:22.335 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Webhook URL: ✅ https://2646b437.r33.cpolar.top/api/paypal/webhook 2025-12-26 10:31:22.335 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ 2025-12-26 10:31:22.351 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - 初始化MyBatis-Plus分页插件,数据库类型: MYSQL 2025-12-26 10:31:22.354 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - MyBatis-Plus分页插件配置完成 2025-12-26 10:31:22.358 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 初始化Druid主数据源 2025-12-26 10:31:22.358 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 配置属性 - URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai, Username: mtkj2025 2025-12-26 10:31:22.383 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - Druid主数据源配置完成,URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai 2025-12-26 10:31:23.201 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - 初始化RestClient,配置JSON消息转换器 2025-12-26 10:31:23.433 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - RestClient配置完成 2025-12-26 10:31:23.440 [restartedMain] INFO com.mtkj.mtpay.config.AsyncConfig - PayPal Webhook异步处理线程池初始化完成 2025-12-26 10:31:23.509 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 配置跨域访问,路径: /api/**, 允许来源: * 2025-12-26 10:31:23.512 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 跨域配置完成 2025-12-26 10:31:23.848 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8082"] 2025-12-26 10:31:23.868 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Started MtkjpayApplication in 3.79 seconds (process running for 5.566) 2025-12-26 10:31:23.870 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - ╔══════════════════════════════════════════════════════════╗ ║ ║ ║ ✅ MTKJ PAY 支付系统启动成功! ✅ ║ ║ ║ ╠══════════════════════════════════════════════════════════╣ ║ 应用信息 ║ ╠══════════════════════════════════════════════════════════╣ ║ 应用名称: {:<45} ║ ║ 运行环境: {:<45} ║ ║ 服务端口: {:<45} ║ ╠══════════════════════════════════════════════════════════╣ ║ 访问地址 ║ ╠══════════════════════════════════════════════════════════╣ ║ 后端服务: {:<45} ║ ║ API接口: {:<45} ║ ║ Druid监控: {:<45} ║ ╠══════════════════════════════════════════════════════════╣ ║ 状态: 🟢 服务运行中,可以接收请求 ║ ╚══════════════════════════════════════════════════════════╝ 2025-12-26 10:31:23.870 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - 📌 提示: - 前端代理地址: http://localhost:3000 - 后端API地址: http://localhost:8082//api - 图片上传接口: http://localhost:8082//api/product/upload/image - 商品管理接口: http://localhost:8082//api/product 2025-12-26 10:31:23.874 [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:42) 2025-12-26 10:48:57.710 [Thread-8] INFO org.apache.coyote.http11.Http11NioProtocol - Stopping ProtocolHandler ["http-nio-8082"] 2025-12-26 10:48:57.839 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - ╔══════════════════════════════════════════════════════════╗ ║ ║ ║ MTKJ PAY 支付系统正在启动... ║ ║ ║ ╚══════════════════════════════════════════════════════════╝ 2025-12-26 10:48:57.905 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Starting MtkjpayApplication using Java 17.0.12 with PID 23252 (E:\MTKJPAY\mt-startup\target\classes started by 18969 in E:\MTKJPAY) 2025-12-26 10:48:57.905 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - The following 1 profile is active: "dev" 2025-12-26 10:48:58.125 [restartedMain] WARN o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: java.lang.IllegalArgumentException: Could not find class [com.mtkj.mtpay.config.PingPongProperties] 2025-12-26 10:48:58.194 [restartedMain] ERROR org.springframework.boot.SpringApplication - Application run failed java.lang.IllegalArgumentException: Could not find class [com.mtkj.mtpay.config.PingPongProperties] at org.springframework.util.ClassUtils.resolveClassName(ClassUtils.java:355) at org.springframework.core.annotation.TypeMappedAnnotation.adapt(TypeMappedAnnotation.java:465) at org.springframework.core.annotation.TypeMappedAnnotation.getValue(TypeMappedAnnotation.java:390) at org.springframework.core.annotation.TypeMappedAnnotation.getAttributeValue(TypeMappedAnnotation.java:371) at org.springframework.core.annotation.AbstractMergedAnnotation.getRequiredAttributeValue(AbstractMergedAnnotation.java:215) at org.springframework.core.annotation.AbstractMergedAnnotation.getClassArray(AbstractMergedAnnotation.java:153) at org.springframework.boot.context.properties.EnableConfigurationPropertiesRegistrar.lambda$getTypes$0(EnableConfigurationPropertiesRegistrar.java:55) at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:273) at org.springframework.core.annotation.MergedAnnotationsCollection$AnnotationsSpliterator.tryAdvance(MergedAnnotationsCollection.java:254) at java.base/java.util.Spliterator.forEachRemaining(Spliterator.java:332) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) at org.springframework.boot.context.properties.EnableConfigurationPropertiesRegistrar.getTypes(EnableConfigurationPropertiesRegistrar.java:57) 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: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.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:50) Caused by: java.lang.ClassNotFoundException: com.mtkj.mtpay.config.PingPongProperties at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:467) at org.springframework.boot.devtools.restart.classloader.RestartClassLoader.loadClass(RestartClassLoader.java:121) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:467) at org.springframework.util.ClassUtils.forName(ClassUtils.java:304) at org.springframework.util.ClassUtils.resolveClassName(ClassUtils.java:345) ... 38 common frames omitted 2025-12-26 10:48:58.197 [restartedMain] ERROR com.mtkj.mtkjpay.MtkjpayApplication - ╔══════════════════════════════════════════════════════════╗ ║ ║ ║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ ║ ║ ╚══════════════════════════════════════════════════════════╝ java.lang.IllegalArgumentException: Could not find class [com.mtkj.mtpay.config.PingPongProperties] at org.springframework.util.ClassUtils.resolveClassName(ClassUtils.java:355) at org.springframework.core.annotation.TypeMappedAnnotation.adapt(TypeMappedAnnotation.java:465) at org.springframework.core.annotation.TypeMappedAnnotation.getValue(TypeMappedAnnotation.java:390) at org.springframework.core.annotation.TypeMappedAnnotation.getAttributeValue(TypeMappedAnnotation.java:371) at org.springframework.core.annotation.AbstractMergedAnnotation.getRequiredAttributeValue(AbstractMergedAnnotation.java:215) at org.springframework.core.annotation.AbstractMergedAnnotation.getClassArray(AbstractMergedAnnotation.java:153) at org.springframework.boot.context.properties.EnableConfigurationPropertiesRegistrar.lambda$getTypes$0(EnableConfigurationPropertiesRegistrar.java:55) at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:273) at org.springframework.core.annotation.MergedAnnotationsCollection$AnnotationsSpliterator.tryAdvance(MergedAnnotationsCollection.java:254) at java.base/java.util.Spliterator.forEachRemaining(Spliterator.java:332) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) at org.springframework.boot.context.properties.EnableConfigurationPropertiesRegistrar.getTypes(EnableConfigurationPropertiesRegistrar.java:57) 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: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.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:50) Caused by: java.lang.ClassNotFoundException: com.mtkj.mtpay.config.PingPongProperties at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:467) at org.springframework.boot.devtools.restart.classloader.RestartClassLoader.loadClass(RestartClassLoader.java:121) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:467) at org.springframework.util.ClassUtils.forName(ClassUtils.java:304) at org.springframework.util.ClassUtils.resolveClassName(ClassUtils.java:345) ... 38 common frames omitted 2025-12-26 10:49:02.948 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - ╔══════════════════════════════════════════════════════════╗ ║ ║ ║ MTKJ PAY 支付系统正在启动... ║ ║ ║ ╚══════════════════════════════════════════════════════════╝ 2025-12-26 10:49:02.997 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Starting MtkjpayApplication using Java 17.0.12 with PID 23252 (E:\MTKJPAY\mt-startup\target\classes started by 18969 in E:\MTKJPAY) 2025-12-26 10:49:02.997 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - The following 1 profile is active: "dev" 2025-12-26 10:49:03.398 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] 2025-12-26 10:49:03.398 [restartedMain] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] 2025-12-26 10:49:03.400 [restartedMain] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.16] 2025-12-26 10:49:03.407 [restartedMain] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-12-26 10:49:03.427 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ 2025-12-26 10:49:03.427 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: 2025-12-26 10:49:03.427 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: ✅ 已配置 (AdGYUZpvLuHR30dybOAp...) 2025-12-26 10:49:03.427 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: ✅ 已配置 (ENblspyRmwsOU_PWFurl...) 2025-12-26 10:49:03.427 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox 2025-12-26 10:49:03.427 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true 2025-12-26 10:49:03.427 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Base URL: https://api-m.sandbox.paypal.com 2025-12-26 10:49:03.427 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Webhook URL: ✅ https://2646b437.r33.cpolar.top/api/paypal/webhook 2025-12-26 10:49:03.427 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ 2025-12-26 10:49:03.439 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - 初始化MyBatis-Plus分页插件,数据库类型: MYSQL 2025-12-26 10:49:03.439 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - MyBatis-Plus分页插件配置完成 2025-12-26 10:49:03.442 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 初始化Druid主数据源 2025-12-26 10:49:03.442 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 配置属性 - URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai, Username: mtkj2025 2025-12-26 10:49:03.442 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - Druid主数据源配置完成,URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai 2025-12-26 10:49:03.889 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - 初始化RestClient,配置JSON消息转换器 2025-12-26 10:49:03.889 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - RestClient配置完成 2025-12-26 10:49:03.896 [restartedMain] INFO com.mtkj.mtpay.config.AsyncConfig - PayPal Webhook异步处理线程池初始化完成 2025-12-26 10:49:03.923 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 配置跨域访问,路径: /api/**, 允许来源: * 2025-12-26 10:49:03.930 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 跨域配置完成 2025-12-26 10:49:04.028 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8082"] 2025-12-26 10:49:04.034 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Started MtkjpayApplication in 1.081 seconds (process running for 1065.736) 2025-12-26 10:49:04.034 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - ╔══════════════════════════════════════════════════════════╗ ║ ║ ║ ✅ MTKJ PAY 支付系统启动成功! ✅ ║ ║ ║ ╠══════════════════════════════════════════════════════════╣ ║ 应用信息 ║ ╠══════════════════════════════════════════════════════════╣ ║ 应用名称: {:<45} ║ ║ 运行环境: {:<45} ║ ║ 服务端口: {:<45} ║ ╠══════════════════════════════════════════════════════════╣ ║ 访问地址 ║ ╠══════════════════════════════════════════════════════════╣ ║ 后端服务: {:<45} ║ ║ API接口: {:<45} ║ ║ Druid监控: {:<45} ║ ╠══════════════════════════════════════════════════════════╣ ║ 状态: 🟢 服务运行中,可以接收请求 ║ ╚══════════════════════════════════════════════════════════╝ 2025-12-26 10:49:04.034 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - 📌 提示: - 前端代理地址: http://localhost:3000 - 后端API地址: http://localhost:8082//api - 图片上传接口: http://localhost:8082//api/product/upload/image - 商品管理接口: http://localhost:8082//api/product 2025-12-26 10:49:05.465 [Thread-10] INFO org.apache.coyote.http11.Http11NioProtocol - Stopping ProtocolHandler ["http-nio-8082"] 2025-12-26 10:49:05.544 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - ╔══════════════════════════════════════════════════════════╗ ║ ║ ║ MTKJ PAY 支付系统正在启动... ║ ║ ║ ╚══════════════════════════════════════════════════════════╝ 2025-12-26 10:49:05.576 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Starting MtkjpayApplication using Java 17.0.12 with PID 23252 (E:\MTKJPAY\mt-startup\target\classes started by 18969 in E:\MTKJPAY) 2025-12-26 10:49:05.577 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - The following 1 profile is active: "dev" 2025-12-26 10:49:05.895 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] 2025-12-26 10:49:05.895 [restartedMain] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] 2025-12-26 10:49:05.895 [restartedMain] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.16] 2025-12-26 10:49:05.916 [restartedMain] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-12-26 10:49:05.929 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ 2025-12-26 10:49:05.929 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: 2025-12-26 10:49:05.930 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: ✅ 已配置 (AdGYUZpvLuHR30dybOAp...) 2025-12-26 10:49:05.930 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: ✅ 已配置 (ENblspyRmwsOU_PWFurl...) 2025-12-26 10:49:05.930 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox 2025-12-26 10:49:05.930 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true 2025-12-26 10:49:05.930 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Base URL: https://api-m.sandbox.paypal.com 2025-12-26 10:49:05.930 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Webhook URL: ✅ https://2646b437.r33.cpolar.top/api/paypal/webhook 2025-12-26 10:49:05.930 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ 2025-12-26 10:49:05.937 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - 初始化MyBatis-Plus分页插件,数据库类型: MYSQL 2025-12-26 10:49:05.937 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - MyBatis-Plus分页插件配置完成 2025-12-26 10:49:05.940 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 初始化Druid主数据源 2025-12-26 10:49:05.940 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 配置属性 - URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai, Username: mtkj2025 2025-12-26 10:49:05.940 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - Druid主数据源配置完成,URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai 2025-12-26 10:49:06.367 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - 初始化RestClient,配置JSON消息转换器 2025-12-26 10:49:06.368 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - RestClient配置完成 2025-12-26 10:49:06.374 [restartedMain] INFO com.mtkj.mtpay.config.AsyncConfig - PayPal Webhook异步处理线程池初始化完成 2025-12-26 10:49:06.402 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 配置跨域访问,路径: /api/**, 允许来源: * 2025-12-26 10:49:06.402 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 跨域配置完成 2025-12-26 10:49:06.492 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8082"] 2025-12-26 10:49:06.500 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Started MtkjpayApplication in 0.951 seconds (process running for 1068.198) 2025-12-26 10:49:06.500 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - ╔══════════════════════════════════════════════════════════╗ ║ ║ ║ ✅ MTKJ PAY 支付系统启动成功! ✅ ║ ║ ║ ╠══════════════════════════════════════════════════════════╣ ║ 应用信息 ║ ╠══════════════════════════════════════════════════════════╣ ║ 应用名称: {:<45} ║ ║ 运行环境: {:<45} ║ ║ 服务端口: {:<45} ║ ╠══════════════════════════════════════════════════════════╣ ║ 访问地址 ║ ╠══════════════════════════════════════════════════════════╣ ║ 后端服务: {:<45} ║ ║ API接口: {:<45} ║ ║ Druid监控: {:<45} ║ ╠══════════════════════════════════════════════════════════╣ ║ 状态: 🟢 服务运行中,可以接收请求 ║ ╚══════════════════════════════════════════════════════════╝ 2025-12-26 10:49:06.500 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - 📌 提示: - 前端代理地址: http://localhost:3000 - 后端API地址: http://localhost:8082//api - 图片上传接口: http://localhost:8082//api/product/upload/image - 商品管理接口: http://localhost:8082//api/product 2025-12-26 10:53:05.742 [Thread-22] INFO org.apache.coyote.http11.Http11NioProtocol - Stopping ProtocolHandler ["http-nio-8082"] 2025-12-26 10:53:05.833 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - ╔══════════════════════════════════════════════════════════╗ ║ ║ ║ MTKJ PAY 支付系统正在启动... ║ ║ ║ ╚══════════════════════════════════════════════════════════╝ 2025-12-26 10:53:05.894 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Starting MtkjpayApplication using Java 17.0.12 with PID 23252 (E:\MTKJPAY\mt-startup\target\classes started by 18969 in E:\MTKJPAY) 2025-12-26 10:53:05.894 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - The following 1 profile is active: "dev" 2025-12-26 10:53:06.435 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] 2025-12-26 10:53:06.435 [restartedMain] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] 2025-12-26 10:53:06.435 [restartedMain] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.16] 2025-12-26 10:53:06.464 [restartedMain] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-12-26 10:53:06.490 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ 2025-12-26 10:53:06.491 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: 2025-12-26 10:53:06.491 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: ✅ 已配置 (AdGYUZpvLuHR30dybOAp...) 2025-12-26 10:53:06.491 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: ✅ 已配置 (ENblspyRmwsOU_PWFurl...) 2025-12-26 10:53:06.492 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox 2025-12-26 10:53:06.492 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true 2025-12-26 10:53:06.492 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Base URL: https://api-m.sandbox.paypal.com 2025-12-26 10:53:06.492 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Webhook URL: ✅ https://2646b437.r33.cpolar.top/api/paypal/webhook 2025-12-26 10:53:06.492 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ 2025-12-26 10:53:06.505 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - 初始化MyBatis-Plus分页插件,数据库类型: MYSQL 2025-12-26 10:53:06.506 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - MyBatis-Plus分页插件配置完成 2025-12-26 10:53:06.514 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 初始化Druid主数据源 2025-12-26 10:53:06.515 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 配置属性 - URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai, Username: mtkj2025 2025-12-26 10:53:06.516 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - Druid主数据源配置完成,URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai 2025-12-26 10:53:08.301 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - 初始化RestClient,配置JSON消息转换器 2025-12-26 10:53:08.316 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - RestClient配置完成 2025-12-26 10:53:08.327 [restartedMain] INFO com.mtkj.mtpay.config.AsyncConfig - PayPal Webhook异步处理线程池初始化完成 2025-12-26 10:53:08.395 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 配置跨域访问,路径: /api/**, 允许来源: * 2025-12-26 10:53:08.396 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 跨域配置完成 2025-12-26 10:53:08.873 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8082"] 2025-12-26 10:53:08.925 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Started MtkjpayApplication in 3.083 seconds (process running for 1310.623) 2025-12-26 10:53:08.934 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - ╔══════════════════════════════════════════════════════════╗ ║ ║ ║ ✅ MTKJ PAY 支付系统启动成功! ✅ ║ ║ ║ ╠══════════════════════════════════════════════════════════╣ ║ 应用信息 ║ ╠══════════════════════════════════════════════════════════╣ ║ 应用名称: {:<45} ║ ║ 运行环境: {:<45} ║ ║ 服务端口: {:<45} ║ ╠══════════════════════════════════════════════════════════╣ ║ 访问地址 ║ ╠══════════════════════════════════════════════════════════╣ ║ 后端服务: {:<45} ║ ║ API接口: {:<45} ║ ║ Druid监控: {:<45} ║ ╠══════════════════════════════════════════════════════════╣ ║ 状态: 🟢 服务运行中,可以接收请求 ║ ╚══════════════════════════════════════════════════════════╝ 2025-12-26 10:53:08.934 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - 📌 提示: - 前端代理地址: http://localhost:3000 - 后端API地址: http://localhost:8082//api - 图片上传接口: http://localhost:8082//api/product/upload/image - 商品管理接口: http://localhost:8082//api/product 2025-12-26 10:53:10.305 [Thread-29] INFO org.apache.coyote.http11.Http11NioProtocol - Stopping ProtocolHandler ["http-nio-8082"] 2025-12-26 10:53:10.624 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - ╔══════════════════════════════════════════════════════════╗ ║ ║ ║ MTKJ PAY 支付系统正在启动... ║ ║ ║ ╚══════════════════════════════════════════════════════════╝ 2025-12-26 10:53:10.705 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Starting MtkjpayApplication using Java 17.0.12 with PID 23252 (E:\MTKJPAY\mt-startup\target\classes started by 18969 in E:\MTKJPAY) 2025-12-26 10:53:10.705 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - The following 1 profile is active: "dev" 2025-12-26 10:53:11.095 [restartedMain] WARN o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: java.lang.IllegalArgumentException: Could not find class [com.mtkj.mtpay.config.PingPongProperties] 2025-12-26 10:53:11.107 [restartedMain] ERROR org.springframework.boot.SpringApplication - Application run failed java.lang.IllegalArgumentException: Could not find class [com.mtkj.mtpay.config.PingPongProperties] at org.springframework.util.ClassUtils.resolveClassName(ClassUtils.java:355) at org.springframework.core.annotation.TypeMappedAnnotation.adapt(TypeMappedAnnotation.java:465) at org.springframework.core.annotation.TypeMappedAnnotation.getValue(TypeMappedAnnotation.java:390) at org.springframework.core.annotation.TypeMappedAnnotation.getAttributeValue(TypeMappedAnnotation.java:371) at org.springframework.core.annotation.AbstractMergedAnnotation.getRequiredAttributeValue(AbstractMergedAnnotation.java:215) at org.springframework.core.annotation.AbstractMergedAnnotation.getClassArray(AbstractMergedAnnotation.java:153) at org.springframework.boot.context.properties.EnableConfigurationPropertiesRegistrar.lambda$getTypes$0(EnableConfigurationPropertiesRegistrar.java:55) at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:273) at org.springframework.core.annotation.MergedAnnotationsCollection$AnnotationsSpliterator.tryAdvance(MergedAnnotationsCollection.java:254) at java.base/java.util.Spliterator.forEachRemaining(Spliterator.java:332) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) at org.springframework.boot.context.properties.EnableConfigurationPropertiesRegistrar.getTypes(EnableConfigurationPropertiesRegistrar.java:57) 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: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.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:50) Caused by: java.lang.ClassNotFoundException: com.mtkj.mtpay.config.PingPongProperties at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:467) at org.springframework.boot.devtools.restart.classloader.RestartClassLoader.loadClass(RestartClassLoader.java:121) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:467) at org.springframework.util.ClassUtils.forName(ClassUtils.java:304) at org.springframework.util.ClassUtils.resolveClassName(ClassUtils.java:345) ... 38 common frames omitted 2025-12-26 10:53:11.107 [restartedMain] ERROR com.mtkj.mtkjpay.MtkjpayApplication - ╔══════════════════════════════════════════════════════════╗ ║ ║ ║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ ║ ║ ╚══════════════════════════════════════════════════════════╝ java.lang.IllegalArgumentException: Could not find class [com.mtkj.mtpay.config.PingPongProperties] at org.springframework.util.ClassUtils.resolveClassName(ClassUtils.java:355) at org.springframework.core.annotation.TypeMappedAnnotation.adapt(TypeMappedAnnotation.java:465) at org.springframework.core.annotation.TypeMappedAnnotation.getValue(TypeMappedAnnotation.java:390) at org.springframework.core.annotation.TypeMappedAnnotation.getAttributeValue(TypeMappedAnnotation.java:371) at org.springframework.core.annotation.AbstractMergedAnnotation.getRequiredAttributeValue(AbstractMergedAnnotation.java:215) at org.springframework.core.annotation.AbstractMergedAnnotation.getClassArray(AbstractMergedAnnotation.java:153) at org.springframework.boot.context.properties.EnableConfigurationPropertiesRegistrar.lambda$getTypes$0(EnableConfigurationPropertiesRegistrar.java:55) at java.base/java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:273) at org.springframework.core.annotation.MergedAnnotationsCollection$AnnotationsSpliterator.tryAdvance(MergedAnnotationsCollection.java:254) at java.base/java.util.Spliterator.forEachRemaining(Spliterator.java:332) at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) at java.base/java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:921) at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) at java.base/java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:682) at org.springframework.boot.context.properties.EnableConfigurationPropertiesRegistrar.getTypes(EnableConfigurationPropertiesRegistrar.java:57) 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: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.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:50) Caused by: java.lang.ClassNotFoundException: com.mtkj.mtpay.config.PingPongProperties at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:467) at org.springframework.boot.devtools.restart.classloader.RestartClassLoader.loadClass(RestartClassLoader.java:121) at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:525) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:467) at org.springframework.util.ClassUtils.forName(ClassUtils.java:304) at org.springframework.util.ClassUtils.resolveClassName(ClassUtils.java:345) ... 38 common frames omitted 2025-12-26 10:53:19.292 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - ╔══════════════════════════════════════════════════════════╗ ║ ║ ║ MTKJ PAY 支付系统正在启动... ║ ║ ║ ╚══════════════════════════════════════════════════════════╝ 2025-12-26 10:53:19.365 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Starting MtkjpayApplication using Java 17.0.12 with PID 23252 (E:\MTKJPAY\mt-startup\target\classes started by 18969 in E:\MTKJPAY) 2025-12-26 10:53:19.365 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - The following 1 profile is active: "dev" 2025-12-26 10:53:20.117 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] 2025-12-26 10:53:20.120 [restartedMain] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] 2025-12-26 10:53:20.122 [restartedMain] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.16] 2025-12-26 10:53:20.188 [restartedMain] INFO o.a.c.core.ContainerBase.[Tomcat].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-12-26 10:53:20.209 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ 2025-12-26 10:53:20.209 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: 2025-12-26 10:53:20.210 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: ✅ 已配置 (AdGYUZpvLuHR30dybOAp...) 2025-12-26 10:53:20.210 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: ✅ 已配置 (ENblspyRmwsOU_PWFurl...) 2025-12-26 10:53:20.210 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox 2025-12-26 10:53:20.210 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true 2025-12-26 10:53:20.210 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Base URL: https://api-m.sandbox.paypal.com 2025-12-26 10:53:20.210 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Webhook URL: ✅ https://2646b437.r33.cpolar.top/api/paypal/webhook 2025-12-26 10:53:20.210 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ 2025-12-26 10:53:20.225 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - 初始化MyBatis-Plus分页插件,数据库类型: MYSQL 2025-12-26 10:53:20.225 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - MyBatis-Plus分页插件配置完成 2025-12-26 10:53:20.230 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 初始化Druid主数据源 2025-12-26 10:53:20.230 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 配置属性 - URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai, Username: mtkj2025 2025-12-26 10:53:20.230 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - Druid主数据源配置完成,URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai 2025-12-26 10:53:20.842 [restartedMain] WARN o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'productController': Unsatisfied dependency expressed through field 'ossService': Error creating bean with name 'ossServiceImpl': Unsatisfied dependency expressed through field 'ossProperties': No qualifying bean of type 'com.mtkj.mtpay.config.AliyunOSSProperties' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)} 2025-12-26 10:53:20.843 [restartedMain] INFO org.apache.catalina.core.StandardService - Stopping service [Tomcat] 2025-12-26 10:53:20.855 [restartedMain] ERROR o.s.b.diagnostics.LoggingFailureAnalysisReporter - *************************** APPLICATION FAILED TO START *************************** Description: Field ossProperties in com.mtkj.mtpay.service.impl.OssServiceImpl required a bean of type 'com.mtkj.mtpay.config.AliyunOSSProperties' that could not be found. The injection point has the following annotations: - @org.springframework.beans.factory.annotation.Autowired(required=true) Action: Consider defining a bean of type 'com.mtkj.mtpay.config.AliyunOSSProperties' in your configuration. 2025-12-26 10:53:20.856 [restartedMain] ERROR com.mtkj.mtkjpay.MtkjpayApplication - ╔══════════════════════════════════════════════════════════╗ ║ ║ ║ ❌ MTKJ PAY 支付系统启动失败! ❌ ║ ║ ║ ╚══════════════════════════════════════════════════════════╝ org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'productController': Unsatisfied dependency expressed through field 'ossService': Error creating bean with name 'ossServiceImpl': Unsatisfied dependency expressed through field 'ossProperties': No qualifying bean of type 'com.mtkj.mtpay.config.AliyunOSSProperties' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)} at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:772) 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) 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: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.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:50) Caused by: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'ossServiceImpl': Unsatisfied dependency expressed through field 'ossProperties': No qualifying bean of type 'com.mtkj.mtpay.config.AliyunOSSProperties' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)} at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:772) 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) 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.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:254) at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1441) at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1348) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:769) ... 23 common frames omitted Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.mtkj.mtpay.config.AliyunOSSProperties' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)} 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.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.resolveFieldValue(AutowiredAnnotationBeanPostProcessor.java:769) ... 37 common frames omitted 2025-12-26 10:53:22.355 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - ╔══════════════════════════════════════════════════════════╗ ║ ║ ║ MTKJ PAY 支付系统正在启动... ║ ║ ║ ╚══════════════════════════════════════════════════════════╝ 2025-12-26 10:53:22.390 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Starting MtkjpayApplication using Java 17.0.12 with PID 23252 (E:\MTKJPAY\mt-startup\target\classes started by 18969 in E:\MTKJPAY) 2025-12-26 10:53:22.390 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - The following 1 profile is active: "dev" 2025-12-26 10:53:22.733 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] 2025-12-26 10:53:22.733 [restartedMain] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] 2025-12-26 10:53:22.733 [restartedMain] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.16] 2025-12-26 10:53:22.748 [restartedMain] INFO o.a.c.c.ContainerBase.[Tomcat-1].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-12-26 10:53:22.760 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ 2025-12-26 10:53:22.760 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: 2025-12-26 10:53:22.760 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: ✅ 已配置 (AdGYUZpvLuHR30dybOAp...) 2025-12-26 10:53:22.760 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: ✅ 已配置 (ENblspyRmwsOU_PWFurl...) 2025-12-26 10:53:22.760 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox 2025-12-26 10:53:22.760 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true 2025-12-26 10:53:22.760 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Base URL: https://api-m.sandbox.paypal.com 2025-12-26 10:53:22.760 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Webhook URL: ✅ https://2646b437.r33.cpolar.top/api/paypal/webhook 2025-12-26 10:53:22.760 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ 2025-12-26 10:53:22.767 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - 初始化MyBatis-Plus分页插件,数据库类型: MYSQL 2025-12-26 10:53:22.767 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - MyBatis-Plus分页插件配置完成 2025-12-26 10:53:22.769 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 初始化Druid主数据源 2025-12-26 10:53:22.769 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 配置属性 - URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai, Username: mtkj2025 2025-12-26 10:53:22.770 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - Druid主数据源配置完成,URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai 2025-12-26 10:53:23.166 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - 初始化RestClient,配置JSON消息转换器 2025-12-26 10:53:23.169 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - RestClient配置完成 2025-12-26 10:53:23.174 [restartedMain] INFO com.mtkj.mtpay.config.AsyncConfig - PayPal Webhook异步处理线程池初始化完成 2025-12-26 10:53:23.205 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 配置跨域访问,路径: /api/**, 允许来源: * 2025-12-26 10:53:23.206 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 跨域配置完成 2025-12-26 10:53:23.302 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8082"] 2025-12-26 10:53:23.309 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Started MtkjpayApplication in 0.95 seconds (process running for 1325.008) 2025-12-26 10:53:23.310 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - ╔══════════════════════════════════════════════════════════╗ ║ ║ ║ ✅ MTKJ PAY 支付系统启动成功! ✅ ║ ║ ║ ╠══════════════════════════════════════════════════════════╣ ║ 应用信息 ║ ╠══════════════════════════════════════════════════════════╣ ║ 应用名称: {:<45} ║ ║ 运行环境: {:<45} ║ ║ 服务端口: {:<45} ║ ╠══════════════════════════════════════════════════════════╣ ║ 访问地址 ║ ╠══════════════════════════════════════════════════════════╣ ║ 后端服务: {:<45} ║ ║ API接口: {:<45} ║ ║ Druid监控: {:<45} ║ ╠══════════════════════════════════════════════════════════╣ ║ 状态: 🟢 服务运行中,可以接收请求 ║ ╚══════════════════════════════════════════════════════════╝ 2025-12-26 10:53:23.310 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - 📌 提示: - 前端代理地址: http://localhost:3000 - 后端API地址: http://localhost:8082//api - 图片上传接口: http://localhost:8082//api/product/upload/image - 商品管理接口: http://localhost:8082//api/product 2025-12-26 10:54:12.470 [Thread-36] INFO org.apache.coyote.http11.Http11NioProtocol - Stopping ProtocolHandler ["http-nio-8082"] 2025-12-26 10:54:12.518 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - ╔══════════════════════════════════════════════════════════╗ ║ ║ ║ MTKJ PAY 支付系统正在启动... ║ ║ ║ ╚══════════════════════════════════════════════════════════╝ 2025-12-26 10:54:12.550 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Starting MtkjpayApplication using Java 17.0.12 with PID 23252 (E:\MTKJPAY\mt-startup\target\classes started by 18969 in E:\MTKJPAY) 2025-12-26 10:54:12.550 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - The following 1 profile is active: "dev" 2025-12-26 10:54:12.825 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Initializing ProtocolHandler ["http-nio-8082"] 2025-12-26 10:54:12.826 [restartedMain] INFO org.apache.catalina.core.StandardService - Starting service [Tomcat] 2025-12-26 10:54:12.826 [restartedMain] INFO org.apache.catalina.core.StandardEngine - Starting Servlet engine: [Apache Tomcat/10.1.16] 2025-12-26 10:54:12.856 [restartedMain] INFO o.a.c.c.ContainerBase.[Tomcat-1].[localhost].[/] - Initializing Spring embedded WebApplicationContext 2025-12-26 10:54:12.864 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ 2025-12-26 10:54:12.864 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - PayPal配置加载验证: 2025-12-26 10:54:12.865 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client ID: ✅ 已配置 (AdGYUZpvLuHR30dybOAp...) 2025-12-26 10:54:12.865 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Client Secret: ✅ 已配置 (ENblspyRmwsOU_PWFurl...) 2025-12-26 10:54:12.865 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Mode: sandbox 2025-12-26 10:54:12.865 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Enabled: true 2025-12-26 10:54:12.865 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Base URL: https://api-m.sandbox.paypal.com 2025-12-26 10:54:12.865 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - - Webhook URL: ✅ https://2646b437.r33.cpolar.top/api/paypal/webhook 2025-12-26 10:54:12.865 [restartedMain] INFO com.mtkj.mtpay.config.PayPalProperties - ═══════════════════════════════════════════════════════════ 2025-12-26 10:54:12.870 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - 初始化MyBatis-Plus分页插件,数据库类型: MYSQL 2025-12-26 10:54:12.870 [restartedMain] INFO com.mtkj.mtpay.config.MyBatisPlusConfig - MyBatis-Plus分页插件配置完成 2025-12-26 10:54:12.873 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 初始化Druid主数据源 2025-12-26 10:54:12.873 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - 配置属性 - URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai, Username: mtkj2025 2025-12-26 10:54:12.873 [restartedMain] INFO com.mtkj.mtpay.config.DruidDataSourceConfig - Druid主数据源配置完成,URL: jdbc:mysql://rm-j6c3u06k2afwn8hxw6o.mysql.rds.aliyuncs.com:3306/mtpay?useUnicode=true&characterEncoding=utf-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai 2025-12-26 10:54:13.187 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - 初始化RestClient,配置JSON消息转换器 2025-12-26 10:54:13.189 [restartedMain] INFO com.mtkj.mtpay.config.RestClientConfig - RestClient配置完成 2025-12-26 10:54:13.194 [restartedMain] INFO com.mtkj.mtpay.config.AsyncConfig - PayPal Webhook异步处理线程池初始化完成 2025-12-26 10:54:13.217 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 配置跨域访问,路径: /api/**, 允许来源: * 2025-12-26 10:54:13.217 [restartedMain] INFO com.mtkj.mtpay.config.WebConfig - 跨域配置完成 2025-12-26 10:54:13.287 [restartedMain] INFO org.apache.coyote.http11.Http11NioProtocol - Starting ProtocolHandler ["http-nio-8082"] 2025-12-26 10:54:13.292 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - Started MtkjpayApplication in 0.769 seconds (process running for 1374.992) 2025-12-26 10:54:13.294 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - ╔══════════════════════════════════════════════════════════╗ ║ ║ ║ ✅ MTKJ PAY 支付系统启动成功! ✅ ║ ║ ║ ╠══════════════════════════════════════════════════════════╣ ║ 应用信息 ║ ╠══════════════════════════════════════════════════════════╣ ║ 应用名称: {:<45} ║ ║ 运行环境: {:<45} ║ ║ 服务端口: {:<45} ║ ╠══════════════════════════════════════════════════════════╣ ║ 访问地址 ║ ╠══════════════════════════════════════════════════════════╣ ║ 后端服务: {:<45} ║ ║ API接口: {:<45} ║ ║ Druid监控: {:<45} ║ ╠══════════════════════════════════════════════════════════╣ ║ 状态: 🟢 服务运行中,可以接收请求 ║ ╚══════════════════════════════════════════════════════════╝ 2025-12-26 10:54:13.294 [restartedMain] INFO com.mtkj.mtkjpay.MtkjpayApplication - 📌 提示: - 前端代理地址: http://localhost:3000 - 后端API地址: http://localhost:8082//api - 图片上传接口: http://localhost:8082//api/product/upload/image - 商品管理接口: http://localhost:8082//api/product