由於mybatis 的mapper 文件有時候需要放到dao層
而在導出項目時,非resources 下的配置文件就沒有被導出
所以導致了空指針異常
java.lang.NullPointerException
at com.zxit.dao.UserMapperTest.test(UserMapperTest.java:36)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
原因:
配置文件默認放在resources文件夾下
寫的配置文件沒有放到 resources 文件夾下,所以導致運行時,文件沒有導出
解決方案:
手動配置maven 放在src/main/java下的配置文件,能夠被導出
在主maven工程中pom.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> <!--true 代表將文件打包到resources一起-->
</resource>
</resources>
</build>
這樣,非resouces文件夾下的,配置文件就會在項目運行時被導出