Mybatis配置错误:java.lang.ExceptionInInitializerError
情况一:配置文件,无法被导出或者生效
修改前:

修改后:

究其原因,这是由于Maven的约定大于配置,导致我们写的配置文件,无法被导出或者生效的问题,解决方案:
在pom.xml文件中配置导出非resources文件夹下的xml文件和properties,这样在编译运行后target文件夹下就能找到对应的配置文件了。
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>true</filtering>
</resource>
</resources>
</build>
情况二: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配置文件的
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <maven.compiler.encoding>UTF-8</maven.compiler.encoding>

情况三:Mybatis-config.xml中没有配置mapper

每一Mapper.XML都需要dMybatis核心配置文件中注册
<mappers>
<mapper resource="com/th/dao/UserMapper.xml"/>
</mappers>

上一篇:springboot操作阿里云OSS实现文件上传,下载,删除功能
栏 目:JAVA代码
本文标题:Mybatis配置错误:java.lang.ExceptionInInitializerError
本文地址:http://www.codeinn.net/misctech/72508.html


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




