我在 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")
根据我从其他几篇文章中读到的内容,上面的代码尝试从资源文件夹中的同一路径加载文件,但它对我不起作用。
我还尝试过什么:
ClassLoader.class.getResource()
- 将属性文件复制到 java 目录本身,但在构建类文件夹后包含类,并将属性文件复制到资源文件夹
- 我尝试提供资源文件夹的相对路径,但也不起作用
- 手动将文件复制到类文件夹中,然后它就可以工作了(显然!)
如何访问资源文件? (这是一个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/