解决Maven打包时,src/main/java目录下xml等资源文件没有打包进去问题

使用IDEA创建的maven工程,测试hibernate时候发现提示如下异常:

Exception in thread "main" org.hibernate.boot.MappingNotFoundException: Mapping (RESOURCE) not found : com/gqzzw/hibernate/News.hbm.xml : origin(com/gqzzw/hibernate/News.hbm.xml)

查看源码这个com/gqzzw/hibernate/News.hbm.xml明明是存在的,很郁闷。查看maven的target发现的确缺少该xml文件,原来maven自动化打包时,默认只编译src/main/java中的java文件,其他的文件会被忽略。可以在pom.xml的<build>中添加:

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

但在此建议,非java相关的资源,还是写在src/main/resources中比较好,这样条理清晰。

 

购买本主题
添加QQ号:703328210咨询购买具体信息。

作者头像
Zblog屋创始人

本主题是一套风格鲜明的主题,适合做SEO,简介易于操作,上手很快。

上一篇: 验证码无法显示:Could not initialize class sun.awt.X11GraphicsEnvironment 解决方案
下一篇: Maven工程中POM文件jar包坐标的依赖范围

发表评论