关于Maven启动项目各种.xml文件和.properties文件找不到问题的解决

原文地址: https://blog.csdn.net/jeffleo/article/details/55271858

问题:

Could not resolve bean definition resource pattern [classpath:spring/applicationContext-.xml]
·····
意思是说:
无法找到applicationContext-
.xml这个配置文件,因为这些文件不存在

原因

在我的工程中,src/main/java下的mapper包中有mapper.java和mapper.xml文件,src/main/config目录有spring,mybatis,springmvc的配置文件
关于Maven启动项目各种.xml文件和.properties文件找不到问题的解决_第1张图片

这两个路径下最终对应maven的运行路径时:
关于Maven启动项目各种.xml文件和.properties文件找不到问题的解决_第2张图片

我们知道,maven在扫描java文件夹时,不会扫描其中的.xml文件,因为它默认是扫描java文件的,这样mapper.xml就会丢失而导致报错,所以我们会在pom文件中添加这样的配置:

<build> 
    <resources>
            <resource>
                <directory>src/main/javadirectory>
                <includes>
                    <include>**/*.propertiesinclude>
                    <include>**/*.xmlinclude>
                includes>
                <filtering>falsefiltering>
        resources>
    build>

上述配置的意思是:maven扫描src/main/java这个文件夹,并且要扫描所有.xml和.properties文件,这样一来可以解决maven扫描mapper.xml缺失的问题,但是由于修改了默认的resource目录,导致src/main/resources的所有文件都不能被扫描,也就出现了applicationContext文件不能被扫描的错误,所以应该配置两个:

<build> 
    <resources>
            <resource>
                <directory>src/main/javadirectory>
                <includes>
                    <include>**/*.propertiesinclude>
                    <include>**/*.xmlinclude>
                includes>
                <filtering>falsefiltering>
            resource>
      
            <resource>
                <directory>src/main/resourcesdirectory>
                <includes>
                    <include>**/*.propertiesinclude>
                    <include>**/*.xmlinclude>
                includes>
                <filtering>falsefiltering>
            resource>
        resources>
    build>

你可能感兴趣的:(other)