如何使用NetBeans IDE与Java 19.0.1创建JavaFX应用及兼容问题解决
背景说明
从JDK 11开始,Oracle官方JDK就将JavaFX从JDK安装包中移除了——这是因为JavaFX项目被移交至OpenJFX社区独立维护,不再属于JDK核心组件范畴。不管你安装的是最新版Oracle JDK还是OpenJDK,默认都不带JavaFX,这就是NetBeans提示“JDK版本不支持JavaFX”的核心原因。
解决方法
方法一:使用NetBeans内置JavaFX模板(推荐)
- 确保你的NetBeans版本为12.0及以上,新版本已原生集成OpenJFX支持
- 打开NetBeans,选择
File > New Project - 在弹窗中选择
Java with Maven > JavaFX Application或Java with Gradle > JavaFX Application(选熟悉的构建工具即可) - 跟随向导完成项目创建,NetBeans会自动引入OpenJFX依赖,无需手动配置
方法二:手动为现有Java项目添加OpenJFX
如果是已创建的普通Java项目,按以下步骤配置:
- 下载与你JDK版本匹配的OpenJFX SDK,解压到本地任意路径
- 在NetBeans中右键项目名,选择
Properties - 切换到
Libraries标签,点击Add JAR/Folder,选中OpenJFX SDK解压目录下的lib文件夹,添加所有.jar文件 - 切换到
Run标签,在VM Options中添加模块路径与启动模块配置:
示例(假设SDK解压在--module-path "你的OpenJFX SDK/lib路径" --add-modules javafx.controls,javafx.fxmlD:\openjfx-sdk-17.0.7\lib):--module-path "D:\openjfx-sdk-17.0.7\lib" --add-modules javafx.controls,javafx.fxml - 点击
OK保存,项目即可正常编译运行
方法三:用Maven/Gradle管理依赖(更稳定)
如果用Maven,在pom.xml中添加OpenJFX依赖:
<dependencies> <dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-controls</artifactId> <version>17.0.7</version> </dependency> <dependency> <groupId>org.openjfx</groupId> <artifactId>javafx-fxml</artifactId> <version>17.0.7</version> </dependency> </dependencies>
同时添加插件确保运行时加载模块:
<build> <plugins> <plugin> <groupId>org.openjfx</groupId> <artifactId>javafx-maven-plugin</artifactId> <version>0.0.8</version> <configuration> <mainClass>你的主类全路径(如com.example.App)</mainClass> </configuration> </plugin> </plugins> </build>
保存后NetBeans会自动下载依赖,直接运行即可。
内容的提问来源于stack exchange,提问作者Shreyansh Tiwari
相关产品推荐
相关产品推荐

