加载位于“src” Maven文件夹中的fxml文件

4

我正在开发一个JavaFX 8(maven)项目。我希望将一个fxml文件存储在sources(而不是resources)文件夹中。
当我将我的fxml文件存储在位置/src/main/resources/views/b/MyFxml.fxml时,我可以使用以下命令无误地加载它:

new FXMLLoader(getClass().getResource("/views/b/MyFxml.fxml"));

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

9

Java在资源和源码之间没有区别。只要您的fxml文件在类路径中可见(适当地打包为*.jar),您可以以相同的方式访问它。如果您使用maven,则需要进行以下配置:

<project>
  ...
  <build>
    ...
    <resources>
      <resource>
        <directory>src/main/java</directory>
        <includes>
          <include>**/*.fxml</include>
        </includes>
      </resource>
      ...
    </resources>
    ...
  </build>
  ...
</project>

然后,这行代码应该能够加载您的文件:
new FXMLLoader(getClass().getResource("/package/name/RoleView.fxml"));

我没有包含这个Maven配置,我的FXML文件没有被包含在JAR文件中。谢谢。 - Georgios Syngouroglou

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接