我正在开发一个JavaFX 8(maven)项目。我想将fxml文件存储在源(不在资源内)文件夹中 当我将我的fxml存储到位置/src/main/resources/views/b/MyFxml.fxml时我使用命令加载它没有错误,
new FXMLLoader(getClass().getResource("/views/b/MyFxml.fxml"));
有没有办法从/src/main/java/package/name/RoleView.fxml位置加载我的fxml文件?
答案 0 :(得分:7)
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"));