打包成war包之後如何讀取配置文件
今天工作開發中遇到一個問題:在idea運行的項目讀取配置文件沒有問題,打包成war包之後就會報錯java.io.FileNotFoundException: class path resource
原因:
打包成war包後,配置文件在war包中,不是一個獨立的文件了,無法通過File的方式訪問
String filePath = "classpath:template_xml/readexcel/test.xml"; File file = ResourceUtils.getFile(filePath); InputStream fis = new FileInputStream(file);
解決方案
通過文件流的形式讀取文件
String filePath = "template_xml/readexcel/test.xml"; InputStream fis = this.getClass().getResourceAsStream(filePath);
總結
開發過程中遇到讀取文件的,儘量用文件流的形式讀取文件,可避免在不同環境下可以正確讀取