天天看點

getResourceAsStream()在web項目中擷取不到配置檔案的原因getResourceAsStream()在web項目中擷取不到配置檔案的原因

getResourceAsStream()在web項目中擷取不到配置檔案的原因

1.先放出來目錄

getResourceAsStream()在web項目中擷取不到配置檔案的原因getResourceAsStream()在web項目中擷取不到配置檔案的原因

2.java應用程式測試沒有問題

getResourceAsStream()在web項目中擷取不到配置檔案的原因getResourceAsStream()在web項目中擷取不到配置檔案的原因

3.當放入web項目運作後直接顯示為空

getResourceAsStream()在web項目中擷取不到配置檔案的原因getResourceAsStream()在web項目中擷取不到配置檔案的原因

4.當在java應用程式,我們将配置檔案放在src下面,程式能夠讀取到。當放入web項目中,發現classes目錄下也同樣生成了配置檔案,但是不知為何還是讀取不到

getResourceAsStream()在web項目中擷取不到配置檔案的原因getResourceAsStream()在web項目中擷取不到配置檔案的原因

5.後來在網上查了很長時間,找到這個方法得到配置檔案的路徑

Thread.currentThread().getContextClassLoader().getResource(“mybatis-config.xml”).getFile();

->當在java應用程式運作時路徑

getResourceAsStream()在web項目中擷取不到配置檔案的原因getResourceAsStream()在web項目中擷取不到配置檔案的原因

->當放在web項目運作

getResourceAsStream()在web項目中擷取不到配置檔案的原因getResourceAsStream()在web項目中擷取不到配置檔案的原因

在這裡發現,配置檔案存放的目錄并沒有在classes下,而是在WEB-INF/classes下面

getResourceAsStream()在web項目中擷取不到配置檔案的原因getResourceAsStream()在web項目中擷取不到配置檔案的原因

6.我的解決方案:

通過Thread.currentThread().getContextClassLoader().getResource(“mybatis-config.xml”).getFile()來擷取絕對路徑,直接使用絕對路徑來實作加載配置檔案

getResourceAsStream()在web項目中擷取不到配置檔案的原因getResourceAsStream()在web項目中擷取不到配置檔案的原因

繼續閱讀