当前位置: 首页 > 知识库问答 >
问题:

我把我的资源文件放在哪里,以使它在Spring中使用类路径可读?[复制]

伍心水
2023-03-14

我想用Java加载一个文本文件,Maven

https://www.baeldung.com/spring-classpath-file-access#3-使用resourceloader

还将此指南用作我的应用程序和结构的基础

https://spring.io/guides/gs/spring-boot/

Baeldung指南使用这样的代码创建资源

resourceLoader.getResource(
  "classpath:data.txt");

当我运行这个代码时,我得到一个IOException

class path resource [data.txt] cannot be opened because it does not exist

该指南没有说明我需要将此文件放在何处以使其可用。

我假设classpath是相对于类的路径,在本例中为“HelloController.java”

在我的项目文件结构中,这个类位于src/main/java/com/example/demo/HelloController。java

所以我把文本文件放在src/main/resources/com/example/demo/data。txt不工作。文件需要放在哪里才能使其可读?

共有1个答案

黄正浩
2023-03-14

在这个post-Spring Boot类路径的帮助下,我尝试将文件直接放在“resources”文件夹中,然后就成功了。

资源data.txt

 类似资料:
  • 问题内容: 启动程序时,我需要阅读一个文本文件。我正在使用eclipse并启动了一个新的Java项目。在我的项目文件夹中,我有“ src”文件夹和标准的“ JRE系统库” + staedteliste.txt …我只是不知道将文本文件放在何处。我确实尝试过我可以考虑的每个文件夹....我不能使用“硬编码”路径,因为文本文件需要包含在我的应用中… 我使用以下代码读取文件,但出现此错误: } 问题答案

  • 问题内容: 我下载了一个Java应用程序webstart.JNLP。在记事本中打开后,我发现它列出了一些资源,如下所示,为了使应用程序能够加载,这些 .jar必须位于我的PC中的某些位置。在哪里可以找到 .jar的路径?有没有人有帮助的想法? 问题答案: 该位置可以通过以下方式找到: 打开Java控制面板 (关闭在其顶部打开的Java Cache Viewer) 在“常规”选项卡的“ Intern

  • 在Vaadin 10-14中,我应该将静态文件放在哪里,例如CSS、JavaScript和聚合模板?静态文件(如图像)如何? 此外,如何在Vaadin中导入这些文件?Vaadin 14与npm和Vaadin 10-13与bower之间有差异吗?

  • 问题内容: 我有一个JAR文件,其中包含一个应用程序以及该应用程序的配置文件。该应用程序从类路径加载配置文件(使用),并使用烘焙到JAR文件中的配置文件完全满足其依赖性。 有时,我希望应用程序以稍微不同的配置运行(特别是我想覆盖JDBC URL以指向其他数据库),因此我创建了一个新的配置文件,将其存储在正确的目录结构中(这意味着类路径条目的目录),我想执行以下操作: 但是我无法在应用程序JAR内容

  • 我搜索了很多,几乎所有我发现的例子都使用了控制器中的异常处理和自己的异常处理程序。我一直认为这应该在程序的服务层上完成。如果不是,我真的不明白为什么要创建单独的服务层。 另外,如果我在Controller中实现异常处理,是否意味着我必须在前面的所有层中抛出异常?

  • Spring boot使安装一个简单的应用程序变得非常容易。但实际上,我需要更长的时间才能获得一个可以上传到远程服务器的jar文件。我使用IntelliJ,没有命令行,我使用gradle。应用程序正在以某种方式运行Intellij。但是创建的文件在哪里?我从Bootjar买的罐子在哪里? 更新:添加了项目结构图片: 更新2:文件夹结构: