maven项目中 org.hibernate.MappingNotFoundException: resource:**.hbm.xml not found问题的解决方案

刚开始学习Maven,学习过程中遇到了很多问题,尤其是使用Eclipse创建Maven工程,真TM蛋疼。。。
按照网上的教程创建了一个Maven项目,看一下项目结构:
技术分享
请注意,我的配置文件没有放到src/main/resource文件夹下。

结果运行之后就会报错:
org.hibernate.MappingNotFoundException: resource:**.hbm.xml not found。
网上查了半天资料,原来对于Maven工程,编译的工作是由Maven程序来完成的,而Maven默认只会把src/main/resources文件夹下的文件拷贝到target/classes文件夹下,所以上图中用红框框起来的.hbm.xml都不会被复制到/target/calsses文件夹下,所以Hibernate框架在运行的时候,就会报找不到*.hbm.xml的错误。

解决方案:
在pom.xml中显式地告诉Maven把什么资源文件复制到target/classes文件夹下。
如下代码:

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

相关问题:Maven项目编译后class文件没有.xml文件问题。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。