图片在线高清处理,大庆seo公司,线上平台推广方案,做彩票网站的方案标题mvn test 失败#xff0c;单独运行单元测试成功
使用junit4进行单元测试时是通过的#xff0c;但是在执行maven的test与package时测试不通过 报错信息#xff1a;
parse data from Nacos error,dataId:guoyu-new-asset-dev.yml,data:
.......
配置文件内容
.......
o…标题mvn test 失败单独运行单元测试成功
使用junit4进行单元测试时是通过的但是在执行maven的test与package时测试不通过 报错信息
parse data from Nacos error,dataId:guoyu-new-asset-dev.yml,data:
.......
配置文件内容
.......
org.yaml.snakeyaml.error.YAMLException: java.nio.charset.MalformedInputException: Input length 1分析原因
编码问题nacos配置文件使用的是utf-8编码读取配置文件时也需要使用utf-8才可以因为我手动运行时没问题的所以排除掉配置文件本身存在格式错误的情况故猜测是maven处使用没按utf-8读取导致
尝试解决
此处我将idea的文件编码都改为了utf-8以及maven运行编码参数但运行test始终不行 我加了以下配置均不生效 最终生效的配置
最终解决方式是在surefire插件中指定编码才得以解决 plugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-surefire-plugin/artifactIdversion2.18.1/versionconfigurationargLine-Dfile.encodingUTF-8/argLine/configuration/plugin查询原因 maven-surefire-plugin 在执行测试的时候会 fork 出新的 JVM 进行测试而这个JVM的参数是无法通过 MAVEN_OPTS 进行设置的。这是为了隔离测试执行环境避免测试与主 Maven 进程共享内存和状态。 为了影响 fork 出来的 JVM需要使用 maven-surefire-plugin 的 argLine 或 forkedBootOptions 配置来传递 JVM 参数