用java8运行代码报错提示没有javafx.scene.robot.Robot这个库,网上给的最低版本的这个库是54.0,我把这个库加上又报错类文件具有错误的版本 54.0,应为52.0。但是jdk11直接就没有javafx,而且加上sdk还显示缺少JavaFx运行时组件,需要该组件来运行此应用程序。太矛盾了,而且jdk11和之后就没有自带的javafx了,额外加还显示缺少组件。
2条回答 默认 最新
檀越@新空间 2024-04-05 21:56关注晚上好🌙🌙🌙
本答案参考ChatGPT-3.5针对你的问题,我有以下解决方案:
- 对于JDK8报错没有javafx.scene.robot.Robot这个库的问题,可以尝试按照以下步骤进行解决:
-
确认你的JDK版本和你的程序使用的版本是否一致,如果不一致,则需要更换为相应版本的JDK。
-
在使用这个库的类中添加导入语句:
import javafx.scene.robot.Robot; -
可以尝试在编译的时候加上命令参数
--module-path path-to-javafx --add-modules javafx.controls,javafx.fxml,其中path-to-javafx为JavaFX库的路径,这个命令参数可以指示JVM使用JavaFX模块。
- 对于JDK11没有自带JavaFX的问题,可以按照以下步骤进行解决:
-
JDK11开始,JavaFX被移动到了一个单独的模块中,需要手动下载并导入。
-
打开JavaFX官网下载页面[https://gluonhq.com/products/javafx/],选择相应的版本并下载。
-
下载完成后,将下载的JavaFX库文件添加到classpath中。
-
在编译和运行的时候,需要加上命令参数
--module-path path-to-javafx --add-modules javafx.controls,javafx.fxml,其中path-to-javafx为JavaFX库文件的路径,这个命令参数指示JVM使用JavaFX模块。
以上两个方案,你可以选择适合自己的方案进行尝试。以下是给出的示例代码:
//package com.example; import javafx.scene.robot.Robot; public class MyRobot { public static void main(String[] args) { Robot robot = new Robot(); // some code here } }在编译的时候需要加上命令参数:
javac --module-path path-to-javafx --add-modules javafx.controls,javafx.fxml MyRobot.java在运行的时候需要加上命令参数:
java --module-path path-to-javafx --add-modules javafx.controls,javafx.fxml MyRobot本回答被题主选为最佳回答 , 对您是否有帮助呢?解决评论 打赏 举报 编辑记录无用 2