Java IntelliJ&;梯度:测试模块/源集can';我看不到主要资源

Java IntelliJ&;梯度:测试模块/源集can';我看不到主要资源,java,gradle,intellij-idea,Java,Gradle,Intellij Idea,以下是我的项目中每个模块的简化结构: src |- main |- java <My classes> |- resources config.properties |- test |- java MainTest |- resources 但是,当我在IntelliJ中运行MainTest.main(),在某个点调用上面的代码位时,生成的InputStream为null 我猜test模块类路径不包括mainresources文件夹 我如何解

以下是我的项目中每个模块的简化结构:

src
|- main
  |- java
    <My classes>
  |- resources
    config.properties
|- test
  |- java
    MainTest
  |- resources
但是,当我在IntelliJ中运行
MainTest.main()
,在某个点调用上面的代码位时,生成的InputStream为null

我猜
test
模块类路径不包括
main
resources文件夹

我如何解决这个问题?

当我可以勾选“取消勾选为每个源代码集创建单独的模块”复选框时,我只有一个模块,只有一个类路径,我的生活更轻松。。。
是否有一种方法,可以使用
build.Gradle
文件中的Gradle配置来强制执行一个唯一的模块/源集?

IntelliJ 2019.2默认情况下将所有生成和运行任务委托给Gradle,因此在IntelliJ中如何构建项目并不重要。您还可以尝试使用
gradletest
在命令行上运行测试,以查看是否遇到相同的问题(您应该这样做)

“测试”运行时类路径不包括“测试”和“主”文件夹中的资源文件夹。所以这也不应该是个问题

在您显示的主要模块的屏幕截图中,资源文件夹中没有config.properties文件。你把它放在META-INF子文件夹了吗?如果它实际上位于资源文件夹的根目录中,请尝试在路径中用斜杠(/)引用它,例如:

MyClass.class.getClassLoader().getResourceAsStream("/config.properties")
                                                   ^^^

config.properties
位于
src/main/resources
文件夹中。仅IntelliJ模块结构视图仅显示文件夹。命令行和斜杠的行为相同。
MyClass.class.getClassLoader().getResourceAsStream("/config.properties")
                                                   ^^^