一、该问题的重现步骤是什么?
1. 部署bladex到服务器,希望打印日志到服务器对应目录中
2. 根据之前的了解,需要各个模块启动增加 --spring.profiles.active=prod,对应查看blade.start.log模块的logback-prod.xml会将日志输出到文件
3. 默认bladex各模块没有引入对应查看blade.start.log模块,在引入过程中,发现blade-gateway的pom.xml引入导致无法启动运行
org.springblade blade-starter-log
二、你期待的结果是什么?实际看到的又是什么?
"D:\Program Files\Java\jdk1.8.0_311\bin\java.exe" ... 连接到目标VM, 地址: ''javadebug',传输: '共享内存'', 传输: '{1}' ----启动中,读取到的环境变量:[dev],jar地址:[/D:/MyWork/db/gitee/vimicro/vimicro-blade/vimicro-BladeX/blade-gateway/target/classes/]---- 2022-09-27 11:46:31.592 INFO 24288 --- [kground-preinit] o.h.validator.internal.util.Version : HV000001: Hibernate Validator 6.2.3.Final ______ _ _ ___ ___ | ___ \| | | | \ \ / / | |_/ /| | __ _ __| | ___ \ V / | ___ \| | / _` | / _` | / _ \ > < | |_/ /| || (_| || (_| || __/ / . \ \____/ |_| \__,_| \__,_| \___|/__/ \__\ :: BladeX 3.0.1.RELEASE :: blade-gateway:dev :: Running SpringBoot 2.7.1 :: 2022-09-27 11:46:33.606 WARN 24288 --- [ main] c.a.c.n.c.NacosPropertySourceBuilder : Ignore the empty nacos configuration and get it based on dataId[blade-gateway] & group[DEFAULT_GROUP] 2022-09-27 11:46:33.623 WARN 24288 --- [ main] c.a.c.n.c.NacosPropertySourceBuilder : Ignore the empty nacos configuration and get it based on dataId[blade-gateway.yaml] & group[DEFAULT_GROUP] 2022-09-27 11:46:33.624 WARN 24288 --- [ main] c.a.c.n.c.NacosPropertySourceBuilder : Ignore the empty nacos configuration and get it based on dataId[blade-gateway-dev.yaml] & group[DEFAULT_GROUP] 2022-09-27 11:46:33.624 INFO 24288 --- [ main] b.c.PropertySourceBootstrapConfiguration : Located property source: [BootstrapPropertySource {name='bootstrapProperties-blade-gateway-dev.yaml,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-blade-gateway.yaml,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-blade-gateway,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-blade-dev.yaml,DEFAULT_GROUP'}, BootstrapPropertySource {name='bootstrapProperties-blade.yaml,DEFAULT_GROUP'}] 2022-09-27 11:46:33.624 INFO 24288 --- [ main] o.s.gateway.GateWayApplication : The following 1 profile is active: "dev" 2022-09-27 11:46:33.911 WARN 24288 --- [ main] onfigReactiveWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanDefinitionStoreException: Failed to process import candidates for configuration class [org.springblade.gateway.GateWayApplication]; nested exception is java.io.FileNotFoundException: class path resource [org/springframework/web/servlet/config/annotation/WebMvcConfigurer.class] cannot be opened because it does not exist 2022-09-27 11:46:33.911 INFO 24288 --- [ main] ConditionEvaluationReportLoggingListener : Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 2022-09-27 11:46:33.927 ERROR 24288 --- [ main] o.s.boot.SpringApplication : Application run failed org.springframework.beans.factory.BeanDefinitionStoreException: Failed to process import candidates for configuration class [org.springblade.gateway.GateWayApplication]; nested exception is java.io.FileNotFoundException: class path resource [org/springframework/web/servlet/config/annotation/WebMvcConfigurer.class] cannot be opened because it does not exist at org.springframework.context.annotation.ConfigurationClassParser.processImports(ConfigurationClassParser.java:610) at org.springframework.context.annotation.ConfigurationClassParser.access$800(ConfigurationClassParser.java:111) at org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorGroupingHandler.lambda$processGroupImports$1(ConfigurationClassParser.java:812) at java.util.ArrayList.forEach(ArrayList.java:1259) at org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorGroupingHandler.processGroupImports(ConfigurationClassParser.java:809) at org.springframework.context.annotation.ConfigurationClassParser$DeferredImportSelectorHandler.process(ConfigurationClassParser.java:780) at org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:193) at org.springframework.context.annotation.ConfigurationClassPostProcessor.processConfigBeanDefinitions(ConfigurationClassPostProcessor.java:331) at org.springframework.context.annotation.ConfigurationClassPostProcessor.postProcessBeanDefinitionRegistry(ConfigurationClassPostProcessor.java:247) at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanDefinitionRegistryPostProcessors(PostProcessorRegistrationDelegate.java:311) at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:112) at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:746) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:564) at org.springframework.boot.web.reactive.context.ReactiveWebServerApplicationContext.refresh(ReactiveWebServerApplicationContext.java:66) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:734) at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) at org.springframework.boot.SpringApplication.run(SpringApplication.java:308) at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:164) at org.springblade.core.launch.BladeApplication.run(BladeApplication.java:50) at org.springblade.gateway.GateWayApplication.main(GateWayApplication.java:36) Caused by: java.io.FileNotFoundException: class path resource [org/springframework/web/servlet/config/annotation/WebMvcConfigurer.class] cannot be opened because it does not exist at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:199) at org.springframework.core.type.classreading.SimpleMetadataReader.getClassReader(SimpleMetadataReader.java:55) at org.springframework.core.type.classreading.SimpleMetadataReader.(SimpleMetadataReader.java:49) at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:103) at org.springframework.boot.type.classreading.ConcurrentReferenceCachingMetadataReaderFactory.createMetadataReader(ConcurrentReferenceCachingMetadataReaderFactory.java:86) at org.springframework.boot.type.classreading.ConcurrentReferenceCachingMetadataReaderFactory.getMetadataReader(ConcurrentReferenceCachingMetadataReaderFactory.java:73) at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:81) at org.springframework.context.annotation.ConfigurationClassParser.asSourceClass(ConfigurationClassParser.java:696) at org.springframework.context.annotation.ConfigurationClassParser$SourceClass.getInterfaces(ConfigurationClassParser.java:1024) at org.springframework.context.annotation.ConfigurationClassParser.processInterfaces(ConfigurationClassParser.java:386) at org.springframework.context.annotation.ConfigurationClassParser.doProcessConfigurationClass(ConfigurationClassParser.java:332) at org.springframework.context.annotation.ConfigurationClassParser.processConfigurationClass(ConfigurationClassParser.java:250) at org.springframework.context.annotation.ConfigurationClassParser.processImports(ConfigurationClassParser.java:600) ... 19 common frames omitted 与目标VM断开连接, 地址为: ''javadebug',传输: '共享内存'', 传输: '{1}' Process finished with exit code 1
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
bladex.3.0.1.RELEASE windows和centos7.6
四、请提供详细的错误堆栈信息,这很重要。
五、若有更多详细信息,请在下面提供。
1、blade.start.log模块出于什么考虑,默认不引入到common中
2、为何gateway引入报错无法启动,如果需要gateway输出日志,将如何处理?
扫一扫访问 Blade技术社区 移动端