解决:ERROR org.springframework.boot.SpringApplication - Application run failedorg.yaml.snakey

文章描述了在启动SpringBoot项目时遇到的ScannerException,源于yaml文件中driver-class-name前面的多余空格。作者强调了在开发过程中注意YAML文件格式的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在启动项目的时候报下面错误导致服务启动失败,详细报错信息如下:

21:10:56.676 [main] ERROR org.springframework.boot.SpringApplication - Application run failed
org.yaml.snakeyaml.scanner.ScannerException: mapping values are not allowed here
 in 'reader', line 14, column 24:
          driver-class-name: com.mysql.cj.jdbc.Driver
                           ^

    at org.yaml.snakeyaml.scanner.ScannerImpl.fetchValue(ScannerImpl.java:890)
    at org.yaml.snakeyaml.scanner.ScannerImpl.fetchMoreTokens(ScannerImpl.java:379)
    at org.yaml.snakeyaml.scanner.ScannerImpl.checkToken(ScannerImpl.java:248)
    at org.yaml.snakeyaml.parser.ParserImpl$ParseBlockMappingKey.produce(ParserImpl.java:602)
    at org.yaml.snakeyaml.parser.ParserImpl.peekEvent(ParserImpl.java:165)
    at org.yaml.snakeyaml.comments.CommentEventsCollector$1.peek(CommentEventsCollector.java:59)
    at org.yaml.snakeyaml.comments.CommentEventsCollector$1.peek(CommentEventsCollector.java:45)
    at org.yaml.snakeyaml.comments.CommentEventsCollector.collectEvents(CommentEventsCollector.java:140)
    at org.yaml.snakeyaml.comments.CommentEventsCollector.collectEvents(CommentEventsCollector.java:119)
    at org.yaml.snakeyaml.composer.Composer.composeScalarNode(Composer.java:221)
    at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:191)
    at org.yaml.snakeyaml.composer.Composer.composeValueNode(Composer.java:313)
    at org.yaml.snakeyaml.composer.Composer.composeMappingChildren(Composer.java:304)
    at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:288)
    at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:195)
    at org.yaml.snakeyaml.composer.Composer.composeValueNode(Composer.java:313)
    at org.yaml.snakeyaml.composer.Composer.composeMappingChildren(Composer.java:304)
    at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:288)
    at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:195)
    at org.yaml.snakeyaml.composer.Composer.composeValueNode(Composer.java:313)
    at org.yaml.snakeyaml.composer.Composer.composeMappingChildren(Composer.java:304)
    at org.yaml.snakeyaml.composer.Composer.composeMappingNode(Composer.java:288)
    at org.yaml.snakeyaml.composer.Composer.composeNode(Composer.java:195)
    at org.yaml.snakeyaml.composer.Composer.getNode(Composer.java:115)
    at org.yaml.snakeyaml.constructor.BaseConstructor.getData(BaseConstructor.java:135)
    at org.springframework.boot.env.OriginTrackedYamlLoader$OriginTrackingConstructor.getData(OriginTrackedYamlLoader.java:99)
    at org.yaml.snakeyaml.Yaml$1.next(Yaml.java:512)
    at org.springframework.beans.factory.config.YamlProcessor.process(YamlProcessor.java:198)
    at org.springframework.beans.factory.config.YamlProcessor.process(YamlProcessor.java:166)
    at org.springframework.boot.env.OriginTrackedYamlLoader.load(OriginTrackedYamlLoader.java:84)
    at org.springframework.boot.env.YamlPropertySourceLoader.load(YamlPropertySourceLoader.java:50)
    at org.springframework.boot.context.config.StandardConfigDataLoader.load(StandardConfigDataLoader.java:54)
    at org.springframework.boot.context.config.StandardConfigDataLoader.load(StandardConfigDataLoader.java:36)
    at org.springframework.boot.context.config.ConfigDataLoaders.load(ConfigDataLoaders.java:107)
    at org.springframework.boot.context.config.ConfigDataImporter.load(ConfigDataImporter.java:128)
    at org.springframework.boot.context.config.ConfigDataImporter.resolveAndLoad(ConfigDataImporter.java:86)
    at org.springframework.boot.context.config.ConfigDataEnvironmentContributors.withProcessedImports(ConfigDataEnvironmentContributors.java:121)
    at org.springframework.boot.context.config.ConfigDataEnvironment.processInitial(ConfigDataEnvironment.java:240)
    at org.springframework.boot.context.config.ConfigDataEnvironment.processAndApply(ConfigDataEnvironment.java:227)
    at org.springframework.boot.context.config.ConfigDataEnvironmentPostProcessor.postProcessEnvironment(ConfigDataEnvironmentPostProcessor.java:102)
    at org.springframework.boot.context.config.ConfigDataEnvironmentPostProcessor.postProcessEnvironment(ConfigDataEnvironmentPostProcessor.java:94)
    at org.springframework.boot.env.EnvironmentPostProcessorApplicationListener.onApplicationEnvironmentPreparedEvent(EnvironmentPostProcessorApplicationListener.java:102)
    at org.springframework.boot.env.EnvironmentPostProcessorApplicationListener.onApplicationEvent(EnvironmentPostProcessorApplicationListener.java:87)
    at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:176)
    at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:169)
    at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:143)
    at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:131)
    at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:82)
    at org.springframework.boot.SpringApplicationRunListeners.lambda$environmentPrepared$2(SpringApplicationRunListeners.java:63)
    at java.util.ArrayList.forEach(ArrayList.java:1255)
    at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:117)
    at org.springframework.boot.SpringApplicationRunListeners.doWithListeners(SpringApplicationRunListeners.java:111)
    at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:62)
    at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:374)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:332)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1354)
    at org.springframework.boot.SpringApplication.run(SpringApplication.java:1343)
    at com.lxl.RedisDemoApplication.main(RedisDemoApplication.java:9)

Process finished with exit code 1

报错部分截图如下:

经过仔细思考,发现是因为driver-class-name前面不知道什么时候多输了一个空格导致的,删掉多余的空格,服务启动成功,所以在开发的时候,一定要注意yml文件的格式

### 回答1: 红外接收电路38kHz是一种常用于红外遥控技术的电路设计。该电路设计主要有两个部分,一个是红外接收管(IR Receiver),另一个是38kHz调制解调电路红外接收管是一种特殊的光电传感器,可以检测来自红外遥控器发送的红外光信号。它通常由一个红外光敏二极管和一个放大器组成。当红外光照射到红外光敏二极管上时,它会产生电流。放大器会增加这个电流信号的幅度,以便进一步处理。 38kHz调制解调电路的主要作用是按照一定频率对红外光信号进行调制和解调。在红外遥控中,通常使用38kHz的频率进行调制,以确保红外接收管只接收到特定频率的红外光信号。调制时,通过对红外光信号进行调制,可以使其带有特定频率的脉冲。解调时,通过识别特定频率的脉冲来还原原始的红外光信号。 整个电路的工作原理如下:当红外遥控器按下某个按钮时,遥控器中的红外发射器会向外发射一定频率的脉冲红外光信号。接收器中的红外接收管会接收到这个红外光信号,并将其转换为相应的电流信号。38kHz调制解调电路会识别出38kHz频率的脉冲,并解码出遥控器所发送的具体指令。然后,这个指令可以被传递到其他电路中,用于控制相应的设备。 红外接收电路38kHz在家庭电器、汽车电子、安防系统等众多领域中得到广泛应用,为人们带来了便利。它充分利用了红外光的特性,通过合理的电路设计,实现了遥控技术的传输和控制功能。 ### 回答2: 红外接收电路38kHz是一种用来接收红外信号的电路。它通常由红外接收管、滤波电路以及解码电路组成。 首先,红外接收管是一个能够接收红外信号并将其转化为电信号的器件。它是一种光电二极管,具有特定的红外辐射灵敏度。当红外信号入射到红外接收管中时,它会产生电压信号。 其次,滤波电路用于滤除红外接收管产生的电压信号中的干扰信号,保留所需的38kHz频率信号。一般情况下,这个滤波电路由一个带通滤波器组成,其中心频率设置为38kHz,带宽较窄以滤除其他频率干扰。 最后,解码电路接收经过滤波的38kHz信号并将其解码为数字信号。解码电路的设计可以根据具体的应用需求来选择,常见的解码方法包括脉宽调制(PWM)和脉冲位置调制(PPM)等。 红外接收电路38kHz广泛应用于红外遥控器、红外传感器等领域。在红外遥控器中,通过发射38kHz的红外信号,接收端的红外接收电路可以接收到这个信号并解码为相应的操作指令。在红外传感器中,红外接收电路可以感知周围物体发射红外信号,从而实现物体检测和反馈等功能。 总之,红外接收电路38kHz是一种用于接收红外信号并解码的电路,其主要通过红外接收管、滤波电路和解码电路来实现。它在红外遥控、红外传感器等应用中起到了重要的作用。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值