1.問題引入:java
運行一個maven+springmvc+hibernate的項目的時候出現了下邊的錯誤:spring
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. 問題緣由:mvc
在com.zju.iot.config中有hibernate的bean的配置文件,以下圖:eclipse
可是編譯完成後com.zju.iot.config包中的內容卻並無放進去:maven
看來idea和myeclipse在這一點的處理上是不同的呀。ide
3. 解決方法ui
由於我是用maven因此能夠設置能夠把資源加入到編譯後的目錄:idea
<build> ............... <resources> <resource> <directory>src/main/java</directory> <excludes> <exclude>**/*.java</exclude> </excludes> </resource> </resources>
............... </build>
從新編譯我門能夠發現已經成功把xml文件放到編譯後的目錄了。spa