作為 Jar 檔案執行時未找到類路徑資源
使用 @Value 註解載入類路徑資源時,考慮檔案的位置。如果資源嵌入在 JAR 檔案中,則使用 resource.getFile() 檢索其內容可能會導致異常,因為 getFile() 期望資源在檔案系統上可用。
檢索資源的JAR 檔案中的內容,請改用 resource.getInputStream()。這使您可以讀取資源的內容,無論其位置如何。
以下是如何修改應用程式以使用 getInputStream() 的範例:
<code class="java">private void testResource(Resource resource) { try { InputStream inputStream = resource.getInputStream(); printFileContents(inputStream); } catch (IOException ex) { logger.error(ex.toString()); } } private void printFileContents(InputStream inputStream) { BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream)); bufferedReader.lines().forEach(logger::debug); }</code>
以上是為什麼作為 Jar 檔案運行時找不到類路徑資源?的詳細內容。更多資訊請關注PHP中文網其他相關文章!