首页 > Java > java教程 > 正文

为什么作为 Jar 文件运行时找不到类路径资源?

Linda Hamilton
发布: 2024-11-04 12:52:29
原创
340 人浏览过

Why does Classpath Resource Not Found when Running as Jar File?

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板