Maven項目中,子項目讀取 mybatis Mapper 文件 ,該文件存在於非resouces空指針異常

由於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文件夾下的,配置文件就會在項目運行時被導出

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章