解決使用intellij idea開發MAVEN項目在target目錄下不存在mapper.xml文件


在做spring+mybatiss時,自動掃描都配置正確了,卻在運行時出現了如下錯誤。后來查看target/classes/.../dao/文件夾下,發現只有mapper的class文件,

而沒有xml文件,將對應的xml文件放到這個文件夾下運行就不會出現下面的錯誤。說明出現這個錯誤的原因是maven編譯時沒有將xml文件放進去。

對於MAVEN項目,Eclipse會自動把項目src\main\java\目錄下的配置文件(.xml)和資源文件(.properties)搬運到target目錄下,而intellij idea默認是不會幫我們做這件事的。

 

解決辦法:

在pom.xml文件中加入以下配置:

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

 

這段代碼的意思就是把src/main/java目錄下所有的xml文件都包含進去,其中${basedir} 是MAVEN的內置變量,表示項目根目錄。

同樣,想包含其他什么文件,比如.properties文件,再加一個<include>標簽類似的寫法即可。

 

做了以上工作以后,再把項目“Reimport”(右鍵選中項目->Maven->Reimport)一下,啟動服務器,調用Mapper接口便不會報錯了,

而且target目錄下對應的位置也有了mapper.xml文件。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM