最代码官方的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头像
最近浏览
plokmn  LV3 2023年3月27日
sttsss  LV1 2022年12月14日
taoshen95  LV15 2022年5月8日
zzh161516  LV1 2022年3月19日
小洪123  LV4 2021年9月12日
最代码-宋家辉  LV61 2021年8月22日
dawnguarda  LV17 2021年4月11日
anny小兔兔000  LV1 2021年3月20日
18204960914  LV1 2021年3月13日
2544575350  LV1 2021年1月23日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友