IntelliJ IDEA - getClass().getResource(“...”) 返回 null

2022-09-01 02:29:42

我正在使用IntelliJ IDEA 13.1.5,我曾经使用过Eclipse。我正在开发JavaFX应用程序,我尝试使用getClass().getResource()在我的MainApp类中加载FXML文件。我阅读了文档,并尝试了几个想法,最后我有null

这是层次结构:

dz.bilaldjago.homekode.MainApp.java

dz.bilaldjago.homekode.view.RootLayout.FXML

这是我使用的代码片段:

FXMLLoader loader = new FXMLLoader();
loader.setLocation(getClass().getResource("view/RootLayout.fxml"));

我尝试了其他解决方案,例如从根目录提供url并使用classLoader

结果是一样的。任何想法请


答案 1

我通过指出IDEA解决了这个问题。resource root

Right click在目录(或仅项目名称)上 -> -> 。Mark directory AsResource Root

重新编译和喜乐:P希望这为你工作〜


答案 2

对于那些使用Intellij Idea的人:检查.Settings -> Compiler -> Resource patterns

该设置包含应解释为资源的所有扩展。如果某个扩展不符合此处的任何模式,则 class.getResource 将返回使用此扩展的资源的 null。


推荐