记录一个mybatis找不到路径,连环报错的解决思路。
不要问我标题为啥那么长?
我怎么可能是标题党呢^ ^,当然是为了帮助更多的人鸭~~
碰到空的问题,二话不说直接开debug。
我这个空指针问题是Resources.class.getResourceAsStream方法没有获取到值,也就是说这个文件没被读取到,因为我们写的是相对路径,所以我们首先看看根目录有没有问题。
按照动力节点的王鹤老师在maven基础课上所教,应该是配置没有问题的。
后面去网上查了下Resources.class.getResourceAsStream的路径写法,原来这个方法要给文件名加斜杠的。解决了这个问题!然后。。。立马换了别的错误T T 找不到sql映射文件
Error building SqlSession.
The error may exist in com/lan/dao/StudentDao.xml
Cause: org.apache.ibatis.builder.BuilderException: Error parsing SQL Mapper Configuration. Cause: java.io.IOException: Could not find resource com/lan/dao/StudentDao.xml
StudentDao.xml找不到,先考虑它存不存在?
接下来这就属于maven的知识点了,说明在maven编译阶段这个xml被遗忘了,没有复制到target文件夹下。
在pom.xml配置下把src/main/java/resources改成src/main/java/即可。
<build>
<resources>
<resource>
<directory>src/main/java</directory><!--所在的目录-->
<includes><!--包括目录下的.properties,.xml 文件都会扫描到-->
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
</build>
配置后先点maven project的clean把target文件夹清理掉,再点compile编译。
再跑一下,那肯定成功了呀。