解決:Could not resolve bean definition resource pattern [/WEB-INF/classes/spring/applicationContext-*.xml]


問題:


用Maven搭建spring、springmvc、mybatis時,運行報錯:

org.springframework.beans.factory.BeanDefinitionStoreException: Could not resolve bean definition resource pattern
[classpath:spring/applicationContext-*.xml]; nested exception is java.io.FileNotFoundException: class path resource [spring/] cannot be resolved to URL because it does not exist

意思是說:
無法找到applicationContext-*.xml這個配置文件,因為這些文件不存在

原因:
在我的工程中,src/main/java下的mapper包中有mapper.java和mapper.xml文件,src/main/config目錄有spring,mybatis,springmvc的配置文件

 


這兩個路徑下最終對應maven的運行路徑時:

 


我們知道,maven在掃描java文件夾時,不會掃描其中的.xml文件,因為它默認是掃描java文件的,這樣mapper.xml就會丟失而導致報錯,所以我們會在pom文件中添加這樣的配置:

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

上述配置的意思是:maven掃描src/main/java這個文件夾,並且要掃描所有.xml和.properties文件,這樣一來可以解決maven掃描mapper.xml缺失的問題,但是由於修改了默認的resource目錄,導致src/main/resources的所有文件都不能被掃描,也就出現了applicationContext文件不能被掃描的錯誤,所以應該配置兩個:

<build> 
    <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </resource>
       由於修改了默認的resource目錄,導致src/main/resources的所有文件都不能被掃描,因此還要配多一個
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*.properties</include>
                    <include>**/*.xml</include>
                </includes>
                <filtering>false</filtering>
            </resource>
        </resources>
    </build>

 

轉自:https://blog.csdn.net/jeffleo/article/details/55271858


免責聲明!

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



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