加载位于"src"maven文件夹中的fxml文件

Geo*_*lou 4 java javafx maven

我正在开发一个JavaFX 8(maven)项目.我想将fxml文件存储在源(不在资源内)文件夹中.
当我将我的fxml存储到location/src/main/resources /views/b/MyFxml.fxml时,我正在使用该命令加载它而没有错误,

new FXMLLoader(getClass().getResource("/views/b/MyFxml.fxml"));
Run Code Online (Sandbox Code Playgroud)

有没有办法从/ src/main/java /package/name/RoleView.fxml位置加载我的fxml文件?

bez*_*max 8

Java没有区分资源和源.只要您的fxml文件在类路径中可见(适当地打包到*.jar中),您就可以以相同的方式访问它.鉴于您使用maven,这是您需要的配置:

<project>
  ...
  <build>
    ...
    <resources>
      <resource>
        <directory>src/main/java</directory>
        <includes>
          <include>**/*.fxml</include>
        </includes>
      </resource>
      ...
    </resources>
    ...
  </build>
  ...
</project>
Run Code Online (Sandbox Code Playgroud)

然后,此行应该可以加载您的文件:

new FXMLLoader(getClass().getResource("/package/name/RoleView.fxml"));
Run Code Online (Sandbox Code Playgroud)