java - Gradle + JavaFX-构建 'resources'目录的正确方法是什么?

标签 java gradle javafx

我有一个使用Gradle构建工具的JavaFX项目。什么是构造src/main/resources文件夹的正确方法,以便我可以通过简单的代码行轻松访问*.fxml*.css:

Parent root = FXMLLoader.load(getClass().getResource("xxx.fxml"));

我在this tutorial中将Gradle插件和build.gradle文件用于JavaFX,它具有一个简单的项目树,如下所示:
.
├── src.main
|    ├── java
|    |   ├── org.openjfx
|    |   |   ├── MainApp.java
|    |   └── └── FXMLController.java
|    ├── resources
|    |   ├── org.openjfx
|    |   |   ├── scene.fxml
└──  └── └── └── styles.css

这样,MainApp.java可以使用scene.fxml加载getResource("scene.fxml")

但是,如果javaresources目录结构不匹配,请假设我的项目树是这样的,以便我可以将fxml文件和css文件分开:
.
├── src.main
|    ├── java
|    |   ├── org.openjfx
|    |   |   ├── anotherPackage 
|    |   |   |   ├── MainApp.java
|    |   └── └── FXMLController.java
|    ├── resources
|    |   ├── org.openjfx
|    |   |   ├── layouts
|    |   |   |   ├── scene.fxml
|    |   |   ├── styles
└──  └── └── └── └──styles.css

现在MainApp.java必须使用scene.fxml加载getResource("../layouts/scene.fxml")
我是Gradle和JavaFX的新手,我想知道什么是管理资源(包括fxml,CSS和图片等)的正确方法。

ps。抱歉,如果我问的问题不正确。

最佳答案

iirc,资源目录结构应镜像包结构。看看https://www.eviltester.com/2017/12/resource-files-for-tests-java-maven.html

关于java - Gradle + JavaFX-构建 'resources'目录的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55776507/

相关文章:

java - 文件在 Excel 版本 2013 中打开但在 2016 中没有打开?

java - 如何实例化 IOSDriver 以在当前 session 中访问其方法

Android Gradle 库依赖

JavaFX 2 BorderPane 使用完整空间

java - Spring 上的 Tomcat 未加载

java - 如何使用 JAVA Rest API 从 Rally 工作项下载附件?

android - gradlepublish.dependsOn ('assemble')不工作

android - 提供的字符串模块符号 'libs/dagger-1.2.2.jar' 无效

java - 从 jar 文件运行 python 脚本

java - 根据 CSS 更改 JavaFX CustomColorDialog 的样式时遇到问题