1.问题引入:
运行一个maven+springmvc+hibernate的项目的时候出现了下边的错误:
Caused by: java.io.FileNotFoundException: class path resource [com/zju/iot/config/User.hbm.xml] cannot be opened because it does not exist
at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:172)
at org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:363)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1637)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1574)
... 59 more
2. 问题原因:
在com.zju.iot.config中有hibernate的bean的配置文件,如下图:
但是编译完成后com.zju.iot.config包中的内容却并没有放进去:
看来idea和myeclipse在这一点的处理上是不一样的呀。
3. 解决方法
因为我是用maven所以可以设置可以把资源加入到编译后的目录:
<build>
...............
<resources>
<resource>
<directory>src/main/java</directory>
<excludes>
<exclude>**/*.java</exclude>
</excludes>
</resource>
</resources>
...............
</build>
重新编译我门可以发现已经成功把xml文件放到编译后的目录了。