搭建mybatis時的小問題

一、源文件中的xml文件通過編譯後沒有打包到classes中去,在源文件包中寫的mapper文件運行時找不到。

  解決辦法:java

  pom文件build下添加編譯時加入xml和resource文件下的全部文件。mybatis

  

<resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*</include>
                </includes>
            </resource>
        </resources>

二、Spring整合mybatis時,關於配置文件的路徑,classpath與classpath*的問題:

classpath:app

maven在編譯打包時,會將src/main/java下的類打包至至target/classes,src/main/resources的文件複製(通常是資源文件,例如Spring的配置文件)到target/classes,src/test/java至target/test-classes,複製src/test/resources的文件至target/test-classes;這裏也說明,上面第一個問題中,咱們爲何要在pom文件中加入那幾行了。否則運行時在classpath下找不到mapper文件啊T_Tmaven

maven項目的classpath在  target/classes/ , maven項目通常資源文件放在maven工程的 src/main/resources 資源文件夾下,源碼文件放在 src/main/java/下, 那麼java文件夾和resources文件夾在運行時就是classpath的真實位置( target/classes/ ), 因此 java和resources目錄下的文件均可以當成在classpath路徑下。運行過程當中能夠經過如下代碼來得到當前類的classpath路徑:ui

類名.class.getClassLoader().getResource("").getPath();

classpath*:spa

classpath*,不單單包括在本項目的target/classes目錄,還包括全部本項目引入的ja包裏面的classes目錄。code

相關文章
相關標籤/搜索