1. Linux

如果您使用的是LinuxOpenJDK,则在运行游戏时编译器有可能会抛出错误:

Error:(6, 8) java: cannot access javafx.application.Application class file for javafx.application.Application not found

你该怎么办?

这里的问题是 CodeGym 游戏引擎使用了JavaFX库,但是OpenJDK默认没有安装这个库。这需要修复:

  1. 在命令行中,输入以下命令:
    sudo apt-get install openjfx
  2. 之后,转到项目设置 ( ALT + CTRL + SHIFT + s ) → SDKsClasspath并单击右侧的加号图标。选择jfxrt.jar文件。它位于路径中已安装的 JDK 中:<JDK_PATH>/jre/lib/ext/jfxrt.jar
  3. 单击确定

2. JDK 11+

如果您使用的是 JDK 版本 11 或更高版本,您在运行游戏时可能还会遇到问题:Java JDK 11不再包含JavaFX库。这意味着当你运行游戏时,编译器将无法编译它,并且会出现错误。要解决此问题,您需要将 JavaFX 添加到项目中:

  1. 从https://gluonhq.com/products/javafx/下载适用于 Windows 的JavaFX SDK
  2. 将下载的存档解压缩到任何文件夹(最好是游戏lib项目的文件夹)。
  3. 打开想法
  4. 在 IDEA 中,转到文件项目结构...
  5. 选择选项卡并按+Java
  6. 指定解压文件夹路径javafx-sdk,选择lib文件夹
  7. 然后按确定。在新窗口中,将JavaFX添加到游戏模块。
  8. 现在应该会出现新库。按应用确定
  9. 要正确启动,请打开菜单RunEdit configuration,然后在VM options:字段中,写入以下内容:
    --module-path ./lib/javafx-sdk-16/lib --add-modules=javafx.controls,javafx.fxml,javafx.base

    注意力:

    在最新版本的 IntelliJ IDEA 中,默认情况下不显示“VM 选项”字段。要显示它,请按ALT+V

  10. 然后,在同一个选项卡中,您需要添加一个应用程序。为此,请按+应用程序
  11. 执行以下步骤:
    1. 选择游戏模块
    2. 写入主类的路径(在本例中,SnakeGame
    3. 对于VM 选项字段,输入与第 9 项中相同的值。
    4. 按:应用确定
  12. 运行游戏。