java - 无法访问资源文件夹中的文件

标签 java gradle intellij-idea

我在 Intellij 中创建了一个新模块,其目录结构如下:
new-module -> src -> main -> java -> config -> resources -> ConfigResources.java
new-module -> src -> main-> resources -> config -> resources -> config.properties

当我构建 intellij 项目时,我看到资源文件被正确复制到“out/development/resources”目录

现在,当我尝试通过以下代码访问此文件时,它返回 null:
ConfigResources.class.getResourceAsStream("config.properties")

根据我从其他几篇文章中读到的内容,上面的代码尝试从资源文件夹中的同一路径加载文件,但它对我不起作用。

我还尝试过什么:

  1. ClassLoader.class.getResource()
  2. 将属性文件复制到 java 目录本身,但在构建类文件夹后包含类,并将属性文件复制到资源文件夹
  3. 我尝试提供资源文件夹的相对路径,但也不起作用
  4. 手动将文件复制到类文件夹中,然后它就可以工作了(显然!)

如何访问资源文件? (这是一个gradle项目并使用java 11) 我是否需要在 intellij 中设置任何配置或需要在我的 build.gradle 文件中包含某些内容?

最佳答案

我也遇到了同样的问题。尝试将附加文件夹“foo”添加到资源目录中。听起来有点令人困惑,但它确实有效。

new-module -> src -> main -> resources -> config -> resources -> foo -> config.properties

ConfigResources.class.getClassLoader().getResourceAsStream(foo/config.properties);

关于java - 无法访问资源文件夹中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60560936/

相关文章:

java - 从 MYSQL 数据库中选择 DISTINCT

java - 平板电脑和手机之间的应用程序小部件大小不一致

java - 为什么我在 IntelliJ 中收到 Gradle 配置构建错误 junit5?

java - 启用 Tomcat localhost/Catalina 登录 IntelliJ IDEA

java - 是否有 IntelliJ Java Profiler

grails - 安装 spring-security-core grails 插件后,如何让 IDEA 了解 jar 文件?

java - 如何在android项目中包含selenium库?

java - 当我不选择 RadioGroup 中的选项时,Android Studio-Quiz App 崩溃

spring - 使用 maven(不是 gradle)生成带有 spring rest docs 的 asciidoctor doc

java - 测试中的 NoClassDefFoundError org/springframework/jdbc/core/ConnectionCallback