开发环境:
1.idea2020以下版本,
2.gradle5.6.4
3.consul1.8.0
4.springBoot
以上环境在下window环境下可能出现编码兼容问题,启动报编码相关问题的错误。目前本平台未发现苹果系统有此问题,深究其原因,苹果系统的idea版本是默认使用系统的编码,默认为UTF8,它能完美的支持gradle,而window默认是使用GBK的,有的同学在安装idea之初就会设置编码,将其改为UTF8,如下:
然而,即便是如此设置了,依然可能出现gradle项目启动报编码问题相关的错误,下面展示几种常见的错误:
代码语言:javascript复制java.lang.IllegalStateException: Failed to load property source from
'file:/D:/daima/es-management/es-process/build/resources/main
/application-test.yml' (classpath:/application-test.yml) for
profile test
…………
Caused by: org.yaml.snakeyaml.error.YAMLException:
java.nio.charset.MalformedInputException: Input length = 2
以上的错误是因为在读取配置文件时,编码不兼容,无法识别导致的,解决办法:修改转换配置文件编码为iso-8859-1
然而,此方法虽然能解决配置文件的报错,却无法解决类文件的继续报错,在启动编译的时候,它将会抛出更多的异常,有可能是dao和mapper无法映射,也可能是MalformedByteSequenceException异常
代码语言:javascript复制MalformedByteSequenceException:3 字节的 UTF-8 序列的字节 3 无效。
终极解决办法:
设置idea全局文件编码方式:
打开Help 选择Edit Custom VM Options
输入 -Dfile.encoding=utf-8
如此即可完美解决!!!