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

刚开始学习Maven,学习过程中遇到了很多问题,尤其是使用Eclipse创建Maven工程,真TM蛋疼。。。
按照网上的教程创建了一个Maven项目,看一下项目结构:
maven项目中 org.hibernate.MappingNotFoundException: resource:**.hbm.xml not found问题的解决方案_第1张图片
请注意,我的配置文件没有放到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/javadirectory>
                <includes>
                    <include>**/*.xmlinclude>
                includes>
                <filtering>truefiltering>
            resource>
            <resource>
                <directory>src/main/resourcesdirectory>
                 <includes>
                    <include>**/*.xmlinclude>
                    <include>**/*.propertiesinclude>
                includes>
            resource>
     resources>
build>

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

你可能感兴趣的:(maven)