无法从包中加载资源

fslejnso  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(276)

我有一个问题,看起来很基本,很简单,但我不能解决它,即使我在网上调查。因为我相信我跑进了一个角落,找不到出路,我将在这里陈述我非常简单的问题。
给定:一个JDK11项目包含一个名为 LoadResource .
项目结构

src
└── main
    ├── java
    │   ├── module-info.java
    │   └── com
    │       └── example
    │           └── LoadResource.java
    └── resources
        └── com
            └── example
                └── Foo.txt

module-info.java模块

module {
  exports example.com;
}

加载资源.java

package com.example;

public class LoadResource {
    public static void main(String... args) {
        new LoadResource().run();
    }

    private void run() {
        System.out.println("TEST");

        final var resource = getClass().getResource("Foo.txt");
        System.out.println(resource);
    }
}

如果我运行这个 getClass().getResource("Foo.text"); 退货 null .
我知道这是一个非常基本的问题,但是:为什么?对我来说,这看起来像是一个相当简单的编程任务。我错过了什么?

uurv41yg

uurv41yg1#

我可以通过添加 --patch-module LoadResource=build/resources/main 作为intellij中的vm参数。

相关问题