最代码官方的gravatar头像
最代码官方2018-03-23 00:25:57
IntelliJ IDEA下如何设置maven项目中hbm xml文件到编译发布目录文件夹下

今天在IntelliJ IDEA下运行一个maven项目,该项目是s2sh开发的,hibernate是用的很早的hbm xml设置的bean和mysql数据库映射关系,一路配置完成后,发现运行是抛出如下异常:

Caused by: org.hibernate.MappingNotFoundException: resource: cn/itcast/entity/SysCode.hbm.xml not found
	at org.hibernate.cfg.Configuration.addResource(Configuration.java:665)
	at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1679)
	at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1647)
	at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1626)
	at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1600)
	at org.hibernate.cfg.Configuration.configure(Configuration.java:1535)
	at org.springframework.orm.hibernate3.LocalSessionFactoryBean.buildSessionFactory(LocalSessionFactoryBean.java:642)
	at org.springframework.orm.hibernate3.AbstractSessionFactoryBean.afterPropertiesSet(AbstractSessionFactoryBean.java:211)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1469)
	at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1409)
	... 59 more

而在hibernate.cfg.xml配置文件中,该hbm xml文件的路径设置是正确的,而且文件也确实存在

IntelliJ IDEA下如何设置maven项目中hbm xml文件到编译发布目录文件夹下

然后在debug模式在断点,查看hibernate启动加载hbm xml文件的类时,发现他是在target目录去查找的文件

IntelliJ IDEA下如何设置maven项目中hbm xml文件到编译发布目录文件夹下

该目录下确实没有对应的hbm xml文件

IntelliJ IDEA下如何设置maven项目中hbm xml文件到编译发布目录文件夹下
IntelliJ IDEA下如何设置maven项目中hbm xml文件到编译发布目录文件夹下

于是通过搜索找到解决方案,因为该项目是maven项目,需要maven build发布到target目录,所以通过设置pom.xml就可以解决

<build>
    <finalName>jk1107</finalName>
      <resources>
          <resource>
              <directory>src/main/java</directory>
              <includes>
                  <include>**/*.xml</include>
              </includes>
              <filtering>false</filtering>
          </resource>
      </resources>
  </build>

IntelliJ IDEA下如何设置maven项目中hbm xml文件到编译发布目录文件夹下

再次build或者run项目就成功了。

IntelliJ IDEA下如何设置maven项目中hbm xml文件到编译发布目录文件夹下

IntelliJ IDEA下如何设置maven项目中hbm xml文件到编译发布目录文件夹下

enjoy it,遇到问题不要只看到表面,大部分原因是因为你个人姿势不对,而不是外部环境原因。


打赏

已有2人打赏

dongsir的gravatar头像程序猿全敏的gravatar头像

分享到:

最近浏览
pengboss4月19日
最代码贡献等级说明
Ckxlnd4月12日
最代码贡献等级说明
暂无贡献等级
alen_jie4月10日
暂无贡献等级
Chengxians4月9日
暂无贡献等级
ld123454月8日
暂无贡献等级
sunjiyun264月8日
最代码贡献等级说明
yang78774月7日
暂无贡献等级
NightKid4月7日
最代码贡献等级说明
顶部客服微信二维码底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友