Mybatis初始化异常:java.lang.ExceptionInInitializerError如何排查?

2026-04-30 03:052阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计634个文字,预计阅读时间需要3分钟。

Mybatis初始化异常:java.lang.ExceptionInInitializerError如何排查?

情况一:配置文件,无法被导出或生效修改前:+ 配置文件无法被导出或生效

修改后:+ 配置文件导出或生效问题

情况二:修改前修改前:+ 修改前:[具体描述]

修改后:+ 修改前:[简述问题]

情况三:修改后修改后:+ 修改后:[简述修改内容]

情况四:究竟原因究竟原因:+ 究竟原因:[简述原因]

情况五:解决方案解决方案:+ 解决方案:[简述解决方案]

情况六:pom.xml文件中pom.xml文件中:+ pom.xml中:[简述pom.xml中相关配置]

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配置文件的

中设置Maven编码格式:

<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>

到此这篇关于Mybatis配置错误:java.lang.ExceptionInInitializerError的文章就介绍到这了,更多相关Mybatis配置错误内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!

本文共计634个文字,预计阅读时间需要3分钟。

Mybatis初始化异常:java.lang.ExceptionInInitializerError如何排查?

情况一:配置文件,无法被导出或生效修改前:+ 配置文件无法被导出或生效

修改后:+ 配置文件导出或生效问题

情况二:修改前修改前:+ 修改前:[具体描述]

修改后:+ 修改前:[简述问题]

情况三:修改后修改后:+ 修改后:[简述修改内容]

情况四:究竟原因究竟原因:+ 究竟原因:[简述原因]

情况五:解决方案解决方案:+ 解决方案:[简述解决方案]

情况六:pom.xml文件中pom.xml文件中:+ pom.xml中:[简述pom.xml中相关配置]

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配置文件的

中设置Maven编码格式:

<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>

到此这篇关于Mybatis配置错误:java.lang.ExceptionInInitializerError的文章就介绍到这了,更多相关Mybatis配置错误内容请搜索易盾网络以前的文章或继续浏览下面的相关文章希望大家以后多多支持易盾网络!