MyBatis测试出现java.lang.ExceptionInInitializerError问题

上午学习mybatis配置完xml写完测试类后出现一个问题,查了配置没问题,路径没问题,查了一下发现是中文注释弄的鬼,(话说解决之后无法重现错误了,很奇怪,所以没有截图)在这里记录一下

问题描述:

在mybatis-config.xml中加入了中文注释,导致运行的时候报错

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE configuration
        PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
        "http://mybatis.org/dtd/mybatis-3-config.dtd">

<!--就是这里↓-->
<!--核心配置文件-->

<configuration>

    <environments default="development">
        <environment id="development">
            <transactionManager type="JDBC"/>
            <dataSource type="POOLED">
                <property name="driver" value="com.mysql.jdbc.Driver"/>
                <property name="url" value="jdbc:mysql://localhost:3306/mybatis?useSSL=true&amp;useUnicode=true&amp;characterEncoding=UTF-8"/>
                <property name="username" value="root"/>
                <property name="password" value="123456"/>
            </dataSource>
        </environment>
    </environments>

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

</configuration>

问题出现原因:

MAVEN安装后默认使用GBK,而项目注释时使用的是UTF-8

问题解决方式:

1.在XML中直接删掉中文注释 

2.在Pom.xml文件中设置Maven的编码,将其源码、输出、编译都设置为UTF-8,之后就可以使用中文注释

<properties>

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

<maven.compiler.encoding>UTF-8</maven.compiler.encoding>

</properties>

可能出现这种情况的其它问题:

Maven的资源导出问题,因为.xml和.properties文件在src/main/java目录下默认不会导出,所以需要在pom.xml中手动配置,如果是因为.xml的文件放在了src/main/java目录下,可以去target目录下查看是不是因为.xml后缀的文件没有导出导致的错误

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值