这篇文章主要介绍了springboot读取application.yml报错问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
springboot读取application.yml报错
springboot项目启动时,读取配置文件出错
错误信息如下
Failed to load property source from location 'classpath:/application.yml'
......
org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length = 1
查找资料,原因基本确定为文件编码格式的问题(原yml文件为GBK格式),于是将GBK格式改为UTF-8,改完后发现之前文件中注释的中文乱码了,问题的原因应该是出自于这里,于是将注释全部删除,再启动就正常了。
注:文件格式更改后,看是否有乱码现象,注释也会有影响。
@Value读取Application.yml为null
项目需求
在springBoot中有一个写死的url,发送http请求获取一个视频地址。
一开始的思路是这样的,然后考虑到这样写不够灵活,因为是springBoot项目,所以直接在配置文件中获取url这样是十分方便的。
然后需要获取Value的敌方使用@VALUE注解来获取
但是死活获取不到该处的URL,一直为空。
解决办法
最后发现该变量我之前用static进行修饰。static是在类加载前便初始化变量。所以这时@VALUE并没有生效。所以为NULL
只需要把static去掉便可以了。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程学习网。
本文标题为:springboot读取application.yml报错问题及解决
基础教程推荐
- Java实现查找文件和替换文件内容 2023-04-06
- Java实现线程插队的示例代码 2022-09-03
- Java并发编程进阶之线程控制篇 2023-03-07
- Java文件管理操作的知识点整理 2023-05-19
- Java数据结构之对象比较详解 2023-03-07
- java基础知识之FileInputStream流的使用 2023-08-11
- springboot自定义starter方法及注解实例 2023-03-31
- java实现多人聊天系统 2023-05-19
- JDK数组阻塞队列源码深入分析总结 2023-04-18
- ConditionalOnProperty配置swagger不生效问题及解决 2023-01-02