1. Linux
如果您使用的是Linux和OpenJDK,则在运行游戏时编译器有可能会抛出错误:
Error:(6, 8) java: cannot access javafx.application.Application class file for javafx.application.Application not found
你该怎么办?
这里的问题是 CodeGym 游戏引擎使用了JavaFX库,但是OpenJDK默认没有安装这个库。这需要修复:
- 在命令行中,输入以下命令:
sudo apt-get install openjfx
- 之后,转到项目设置 ( ALT + CTRL + SHIFT + s ) → SDKs → Classpath并单击右侧的加号图标。选择
jfxrt.jar
文件。它位于路径中已安装的 JDK 中:<JDK_PATH>/jre/lib/ext/jfxrt.jar
- 单击确定。
2. JDK 11+
如果您使用的是 JDK 版本 11 或更高版本,您在运行游戏时可能还会遇到问题:Java JDK 11不再包含JavaFX库。这意味着当你运行游戏时,编译器将无法编译它,并且会出现错误。要解决此问题,您需要将 JavaFX 添加到项目中:
- 从https://gluonhq.com/products/javafx/下载适用于 Windows 的JavaFX SDK。
- 将下载的存档解压缩到任何文件夹(最好是游戏
lib
项目的文件夹)。 - 打开想法。
- 在 IDEA 中,转到文件→项目结构...
- 选择库选项卡并按+ → Java。
- 指定解压文件夹路径
javafx-sdk
,选择lib
文件夹 - 然后按确定。在新窗口中,将JavaFX添加到游戏模块。
- 现在应该会出现新库。按应用→确定。
- 要正确启动,请打开菜单Run → Edit configuration,然后在VM options:字段中,写入以下内容:
--module-path ./lib/javafx-sdk-16/lib --add-modules=javafx.controls,javafx.fxml,javafx.base
注意力:
在最新版本的 IntelliJ IDEA 中,默认情况下不显示“VM 选项”字段。要显示它,请按ALT+V
- 然后,在同一个选项卡中,您需要添加一个应用程序。为此,请按+ →应用程序
- 执行以下步骤:
- 选择游戏模块
- 写入主类的路径(在本例中,
SnakeGame
) - 对于VM 选项字段,输入与第 9 项中相同的值。
- 按:应用→确定
- 运行游戏。