首页  >  文章  >  Java  >  springboot读取application.yml报错怎么解决

springboot读取application.yml报错怎么解决

PHPz
PHPz转载
2023-05-22 11:49:051874浏览

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读取application.yml报错怎么解决

一开始的思路是这样的,然后考虑到这样写不够灵活,因为是springBoot项目,所以直接在配置文件中获取url这样是十分方便的。

springboot读取application.yml报错怎么解决

然后需要获取Value的敌方使用@VALUE注解来获取

springboot读取application.yml报错怎么解决

但是死活获取不到该处的URL,一直为空。

解决办法

最后发现该变量我之前用static进行修饰。static是在类加载前便初始化变量。所以这时@VALUE并没有生效。所以为NULL

只需要把static去掉便可以了。

springboot读取application.yml报错怎么解决

以上是springboot读取application.yml报错怎么解决的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:yisu.com。如有侵权,请联系admin@php.cn删除