SpringBoot 解決打包釋出後讀取不到 json 檔案問題

邢闖洋發表於2022-04-15

SpringBoot 裡讀取json檔案是一個常見操作,之前在本地 idea 執行時候讀取 json 檔案沒有任何問題,但是打包釋出後執行會讀取不到,解決方法:

要將 json 檔案放到 resources 目錄下,新建一個 json 目錄

並將該目錄新增至 spring.resources.static-locations 配置項:

classpath:/json/

SpringBoot 解決打包釋出後讀取不到 json 檔案問題

讀取檔案要用 ClassPathResourcefastJson

具體操作程式碼:

呼叫方法:

JSONObject productConfigObj = ProjectUtil.getJson("productConfig");

getJson 方法:

public static JSONObject getJson(String jsonPath) {
    String jsonStr;
    try {
        ClassPathResource classPathResource = new ClassPathResource("json/" + jsonPath + ".json");
        InputStream inputStream = classPathResource.getInputStream();
        Reader reader = new InputStreamReader(inputStream, StandardCharsets.UTF_8);
        int ch = 0;
        StringBuilder sb = new StringBuilder();
        while ((ch = reader.read()) != -1) {
            sb.append((char) ch);
        }
        reader.close();
        jsonStr = sb.toString();
        return JSON.parseObject(jsonStr);
    } catch (IOException e) {
        e.printStackTrace();
        return null;
    }
}

然後這樣就可以在本地和線上釋出時都能讀取到 json 檔案了

參考文章:
springboot讀取本地json檔案
blog.csdn.net/cf8833/article/detai...

spring boot 解決打包釋出後讀取不到 json檔案以及如何讀取json檔案的問題
blog.csdn.net/weixin_41800672/arti...

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章