1. 遇到的問題
IDEA調(diào)試時,Java能讀取到resource目錄下的文件席舍,Jar包部署到Linux上之后秀仲,讀取resource目錄下的文件報空指針異常null。
2. 解決方案
Web項目讀取Jar包中的resource文件要使用InputStream的方式藤韵,具體的示例代碼如下:
String fileName = "data/test.txt";
try (InputStream in = this.getClass().getClassLoader().getResourceAsStream(fileName);
Reader reader = new InputStreamReader(in);
BufferedReader bReader = new BufferedReader(reader)) {
String line;
while ((line = bReader.readLine()) != null) {
System.out.println(line);
}
} catch (Exception e) {
throw new RuntimeException("讀取文件失敗", e);
}
3. 在pom文件中添加resource標(biāo)簽,使resource目錄的data文件夾下的所有文件都可以打入Jar包熊经。
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>data/**</include>
</includes>
</resource>
</resources>
</build>
4.總結(jié)
及時記錄泽艘,避免重復(fù)踩坑,哈哈哈镐依。匹涮。。