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檔案放到編譯後的目錄了。