先说一下 今天因为这个问题搞了3h
找到了一篇很好的帖子
我自己的问题是 maven的配置环境的编码是GBK 而IDE的编码环境UTF-8
因此造成了报出java.lang.ExceptionInInitializerError
在电脑的环境变量中增加一个环境变量
首先查看maven的编码
1.查看当前Maven默认的编码格式:
cmd中输入mvn -v 可以查看Maven的属性
变量名: MAVEN_OPTS
变量值: -Xms256m -Xmx512m -Dfile.encoding=UTF-8
配置Mybatis时出现java.lang.ExceptionInInitializerError报错如何解决?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
情况一:配置文件,无法被导出或者生效
修改前:
修改后:
究其原因,这是由于Maven的约定大于配置,导致我们写的配置文件,无法被导出或者生效的问题,解决方案:
在pom.xml文件中配置导出非resources文件夹下的xml文件和properties,这样在编译运行后target文件夹下就能找到对应的配置文件了。
src/main/resources ***.xml true src/main/java ***.xml true
情况二:Mybatis-config.xml配置文件或者XXXMapper.xml文件中存在中文注释。
这是因为中文操作系统编码为GBK,MAVEN安装后默认使用系统编码GBK,导致在编译UTF-8格式的源代码文件时出现编码不匹配的问题。
1.当然你可以直接把中文注释删除,只是这不符合编程规范,那么你可以尝试第二种方法。
2.MAVEN编码从GBK改为UTF-8。
1.查看当前Maven默认的编码格式:
cmd中输入mvn -v 可以查看Maven的属性
2.设置环境变量,
变量名: MAVEN_OPTS
变量值: -Xms256m -Xmx512m -Dfile.encoding=UTF-8
3.再次查看Maven属性,默认的编码格式已经发生改变。
4.在pom.xml配置文件的中设置Maven编码格式:
UTF-8 UTF-8 UTF-8
情况三:Mybatis-config.xml中没有配置mapper
每一Mapper.XML都需要dMybatis核心配置文件中注册



