作为 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中文网其他相关文章!