在IntelliJ getResources()中编译JavaFx应用程序返回null

在IntelliJ getResources()中编译JavaFx应用程序返回null,java,intellij-idea,javafx,Java,Intellij Idea,Javafx,在IntelliJ内部运行应用程序时,一切正常 在构建工件时,找不到对*.fxml文件的引用,在调用getClass().getResources(“/path/to/fxml/file.fxml”)时返回该引用 执行*.jar或*.exe会引发NullPointerException:未设置位置 如何解决这个问题 在IntelliJ中,转到项目结构->工件 在输出布局选项卡中,单击+图标并选择目录内容 选择您的资源目录 如果这不起作用,在IntelliJ的项目中, 右键单击资源目录,然后选择将

在IntelliJ内部运行应用程序时,一切正常

在构建工件时,找不到对*.fxml文件的引用,在调用getClass().getResources(“/path/to/fxml/file.fxml”)时返回该引用

执行*.jar或*.exe会引发NullPointerException:未设置位置

如何解决这个问题

  • 在IntelliJ中,转到项目结构->工件
  • 在输出布局选项卡中,单击+图标并选择目录内容
  • 选择您的资源目录
  • 如果这不起作用,在IntelliJ的项目中, 右键单击资源目录,然后选择将目录标记为..->将目录标记为资源根

    确保路径处于以下结构中:

    “/subdirectories/file.fxml”

    因此,如果您的fxml文件位于:resources/layout/main.fxml:

    “/layout/main.fxml”

    所以/是您的资源目录