温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》
  • 首页 > 
  • 教程 > 
  • 开发技术 > 
  • 配置Mybatis时出现java.lang.ExceptionInInitializerError报错如何解决

配置Mybatis时出现java.lang.ExceptionInInitializerError报错如何解决

发布时间:2020-12-17 16:43:58 来源:亿速云 阅读:817 作者:Leah 栏目:开发技术

配置Mybatis时出现java.lang.ExceptionInInitializerError报错如何解决?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

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

配置Mybatis时出现java.lang.ExceptionInInitializerError报错如何解决

修改后:

配置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的属性

配置Mybatis时出现java.lang.ExceptionInInitializerError报错如何解决

2.设置环境变量,
变量名: MAVEN_OPTS
变量值: -Xms256m -Xmx512m -Dfile.encoding=UTF-8

3.再次查看Maven属性,默认的编码格式已经发生改变。

配置Mybatis时出现java.lang.ExceptionInInitializerError报错如何解决

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时出现java.lang.ExceptionInInitializerError报错如何解决

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

配置Mybatis时出现java.lang.ExceptionInInitializerError报错如何解决

每一Mapper.XML都需要dMybatis核心配置文件中注册

<mappers>
    <mapper resource="com/th/dao/UserMapper.xml"/>
</mappers>

配置Mybatis时出现java.lang.ExceptionInInitializerError报错如何解决

关于配置Mybatis时出现java.lang.ExceptionInInitializerError报错如何解决问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI