zoukankan      html  css  js  c++  java
  • 解决: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

  • 相关阅读:
    linux process management
    intel edison with grove lcd
    ODBC、OLEDB和ADO关系
    在线并使用数据库来推断在线
    大约laravel错误的解决方案
    cocos2dx-3.1加入cocosStudio参考库 libCocosStudio
    【甘道夫】基于Mahout0.9+CDH5.2执行分布式ItemCF推荐算法
    格式字符串分配stl::string
    希望开发一个指针的元素
    [Now] Configure secrets and environment variables with Zeit’s Now
  • 原文地址:https://www.cnblogs.com/bbeb/p/11069789.html
Copyright © 2011-2022 走看看