java - Gradle + JavaFX - 构建“资源”目录的正确方法是什么?
问题描述
我有一个带有 Gradle 构建工具的 JavaFX 项目。构建src/main/resources
文件夹的正确方法是什么,以便我可以通过简单的代码行轻松访问*.fxml
和:*.css
Parent root = FXMLLoader.load(getClass().getResource("xxx.fxml"));
我在本教程build.gradle
中使用JavaFX 的 Gradle 插件和文件,它有一个简单的项目树,如下所示:
.
├── src.main
| ├── java
| | ├── org.openjfx
| | | ├── MainApp.java
| | └── └── FXMLController.java
| ├── resources
| | ├── org.openjfx
| | | ├── scene.fxml
└── └── └── └── styles.css
这样,MainApp.java
可以scene.fxml
使用getResource("scene.fxml")
.
但是,如果java
和resources
目录结构不匹配,假设我的项目树是这样的,这样我就可以将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
推荐阅读
- react-native - Google 登录不允许我登录应用
- javascript - 使用材质和角度构建带有复选框的树视图
- loss-function - 预测变化的自定义损失
- spring-boot - SpringBoot/Swagger,仅在 Swagger 上显示特定控制器?
- python - 使用 tkinter 设置初始滚动条位置
- c# - C# 任务取消
- mysql - MySQL中的表发生任何更改后如何执行操作?
- python - 如何从终端中的 PID 接收实时日志?
- docker - 如何在 Ubuntu OS 中更新 docker 最新版本
- javascript - JS 中是否有类似 Python 中的 int.to_bytes() 这样的函数?