1. リナックス

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 ) → SDKクラスパスに移動し、右側のプラスアイコンをクリックします。ファイルを選択しますjfxrt.jar。これは、インストールされた JDK の次のパスにあります。<JDK_PATH>/jre/lib/ext/jfxrt.jar
  3. 「OK」をクリックします。

2.JDK11+

また、JDK バージョン 11 以降を使用している場合、ゲームの実行中に問題が発生する可能性があります。Java JDK 11 にはJavaFXライブラリが含まれなくなりました。つまり、ゲームを実行すると、コンパイラーはゲームをコンパイルできず、エラーが発生します。この問題を解決するには、JavaFX をプロジェクトに追加する必要があります。

  1. Windows 用Ja​​vaFX SDK をhttps://gluonhq.com/products/javafx/からダウンロードします。
  2. ダウンロードしたアーカイブを任意のフォルダー (できればゲームlibプロジェクトのフォルダー) に解凍します。
  3. IDEAを開きます。
  4. IDEA で、「ファイル」「プロジェクト構造...」に移動します。
  5. [ライブラリ]タブを選択し、+Javaを押します。
  6. 解凍したフォルダーへのパスを指定しjavafx-sdklibフォルダーを選択します
  7. 次に、「OK」を押します。新しいウィンドウで、JavaFX をGamesモジュールに追加します。
  8. 新しいライブラリが表示されるはずです。[適用][OK]を押します。
  9. 正しく開始するには、メニューの[実行][構成の編集]を開き、[VM オプション:]フィールドに次のように入力します。
    --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. 押す:適用OK
  12. ゲームを実行します。