Gradle 构建 JavaFX 完整教程:OpenJFX Samples 中 javafxplugin 与 jlink 插件实战
发布时间:2026/8/20 19:26:07 作者:尧图编辑部 阅读量:1,286

Gradle 构建 JavaFX 完整教程OpenJFX Samples 中 javafxplugin 与 jlink 插件实战【免费下载链接】samplesJavaFX samples to run with different options and build tools项目地址: https://gitcode.com/gh_mirrors/samples5/samples对于刚接触 JavaFX 的开发者来说Gradle 构建 JavaFX项目时最头疼的莫过于环境配置依赖下载、模块路径、打包分发每一步都可能踩坑。好消息是OpenJFX Samples 官方示例仓库JavaFX samples to run with different options and build tools提供了一套开箱即用的参考工程手把手演示了如何用javafxplugin与jlink插件完成 JavaFX 的构建、运行与打包。本文将以这些真实示例为主线带你快速掌握 Gradle 构建 JavaFX 的完整流程。为什么用 Gradle 构建 JavaFX三大优势在正式动手前先明确一个核心问题为什么社区推荐用 Gradle 而不是纯命令行来构建 JavaFX依赖自动管理JavaFX 各模块controls、fxml、graphics 等通过javafxplugin插件自动引入无需手动拼 classpath。一键运行./gradlew run即可启动桌面应用适合新手快速验证。原生打包配合jlink插件可生成免 JDK 的定制运行时与可执行文件方便分发给普通用户。OpenJFX Samples 正好覆盖了这三种场景示例均可在 README.md 中找到对应说明。环境准备克隆项目与 JDK 配置Gradle 构建 JavaFX 需要 JDK 11 及以上版本示例中 JavaFX 版本为 21建议 JDK 17。先克隆官方示例仓库git clone https://gitcode.com/gh_mirrors/samples5/samples仓库内的 Gradle 示例按使用场景分为三类你可以按需选择场景示例路径特点最简入门HelloFX/Gradle/hellofx仅 javafxplugin代码最少命令行模块化CommandLine/Modular/Gradle/hellofx模块化 jlink 打包命令行非模块化CommandLine/Non-modular/Gradle/hellofx非模块化 可打 fat jarjavafxplugin 插件核心配置三步搞定依赖org.openjfx.javafxplugin插件是整个 JavaFX 构建体系的地基。以最简示例 HelloFX/Gradle/hellofx/build.gradle 为例配置仅需三步plugins { id application id org.openjfx.javafxplugin version 0.1.0 } javafx { version 21 modules [ javafx.controls ] } mainClassName HelloFX要点解读plugins块声明插件版本0.1.0是官方推荐的稳定版javafx块指定JavaFX 版本号与所需模块列表按需引入javafx.controls、javafx.fxml等mainClassName指向入口类./gradlew run即可启动窗口。需要 FXML 界面时只需把 modules 改为[javafx.controls, javafx.fxml]参见 IDE/VSCode/Modular/Gradle/hellofx/build.gradle。模块化 vs 非模块化两种 Gradle 工程怎么选OpenJFX Samples 同时提供了模块化Modular与非模块化Non-modular两种工程区别如下对比项模块化工程非模块化工程是否声明 module-info.java是否入口配置mainModulemainClass仅mainClassjlink 打包✅ 原生支持❌ 需额外处理适用场景正式分发、微服务化快速原型、内部工具模块化工程在application块中多一行mainModule声明见 CommandLine/Modular/Gradle/hellofx/build.gradle非模块化工程则通过jar块将运行依赖打入 fat jarManifest 指向Launcher类见 CommandLine/Non-modular/Gradle/hellofx/build.gradle。jlink 插件实战一键生成 JavaFX 自定义运行时这是本教程的重头戏。org.beryx.jlink插件版本 2.26.0可以把模块化 JavaFX 应用连同精简后的 JRE 一起打包产出无需安装 JDK 的可执行程序。核心配置如下jlink { options [--strip-debug, --compress, 2, --no-header-files, --no-man-pages] launcher { name hellofx } }options用于瘦身去掉调试信息、启用压缩让产物更小launcher.name指定生成的可执行文件名配置位于 CommandLine/Modular/Gradle/hellofx/build.gradle 完整示例中。执行构建并运行cd CommandLine/Modular/Gradle/hellofx ./gradlew jlink build/image/bin/hellofxWindows 用户运行build\image\bin\hellofx.bat即可。产物目录build/image/bin下就是可独立分发的完整应用。在 VSCode 中快速运行 Gradle JavaFX 任务如果不想敲命令VSCode 配合 Java 与 Gradle 扩展Extension Pack for Java、Gradle for Java可直接在图形界面操作。打开hellofx文件夹后在 Gradle Projects 面板展开Tasks application点击run任务即可启动应用非模块化工程的操作完全相同只是入口类为MainApp需要生成自定义运行时则在Tasks build分组中运行jlink任务。首次构建 Gradle 会自动下载 wrapper示例锁定 Gradle 8.5见gradle/wrapper/gradle-wrapper.properties耐心等待即可。常见问题与最佳实践最后整理几个高频坑帮你少走弯路JAVA_HOME 未指向 JDK在 IDE/VSCode/Modular/Gradle/hellofx/gradle.properties 中取消注释并设置org.gradle.java.home。非模块化工程 jlink 报错jlink 要求模块化工程非模块化请改用 fat jar 或增加模块化改造。跨平台分发非模块化工程中可通过runtimeOnly声明javafx-graphics的 win/linux/mac 平台坐标一次构建多平台 jar。版本一致性JavaFX 版本与 JDK 保持兼容示例统一使用 JavaFX 21建议搭配 JDK 17 以上使用。通过本文的实战你已经掌握了 Gradle 构建 JavaFX 的核心链路javafxplugin 配置依赖、模块化选择、jlink 打包分发以及 IDE 中的图形化操作。下一步不妨基于 OpenJFX Samples 中的其他示例Maven、命令行、Eclipse 等对比不同构建方式的差异选择最适合自己项目的方案。【免费下载链接】samplesJavaFX samples to run with different options and build tools项目地址: https://gitcode.com/gh_mirrors/samples5/samples创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考