1. リナックス
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 ) → SDK →クラスパスに移動し、右側のプラスアイコンをクリックします。ファイルを選択します
jfxrt.jar
。これは、インストールされた JDK の次のパスにあります。<JDK_PATH>/jre/lib/ext/jfxrt.jar
- 「OK」をクリックします。
2.JDK11+
また、JDK バージョン 11 以降を使用している場合、ゲームの実行中に問題が発生する可能性があります。Java JDK 11 にはJavaFXライブラリが含まれなくなりました。つまり、ゲームを実行すると、コンパイラーはゲームをコンパイルできず、エラーが発生します。この問題を解決するには、JavaFX をプロジェクトに追加する必要があります。
- Windows 用JavaFX SDK をhttps://gluonhq.com/products/javafx/からダウンロードします。
- ダウンロードしたアーカイブを任意のフォルダー (できればゲーム
lib
プロジェクトのフォルダー) に解凍します。 - IDEAを開きます。
- IDEA で、「ファイル」 → 「プロジェクト構造...」に移動します。
- [ライブラリ]タブを選択し、+ → Javaを押します。
- 解凍したフォルダーへのパスを指定し
javafx-sdk
、lib
フォルダーを選択します - 次に、「OK」を押します。新しいウィンドウで、JavaFX をGamesモジュールに追加します。
- 新しいライブラリが表示されるはずです。[適用] → [OK]を押します。
- 正しく開始するには、メニューの[実行] → [構成の編集]を開き、[VM オプション:]フィールドに次のように入力します。
--module-path ./lib/javafx-sdk-16/lib --add-modules=javafx.controls,javafx.fxml,javafx.base
注意:
IntelliJ IDEA の最近のバージョンでは、「VM オプション」フィールドはデフォルトでは表示されません。表示するには、ALT+Vを押します。
- 次に、同じタブでアプリケーションを追加する必要があります。これを行うには、+ →アプリケーションを押します
- 次の手順を実行します。
- ゲームモジュールを選択します
- メインクラスへのパスを記述します (この場合、
SnakeGame
) - [VM オプション]フィールドには、項目 9 と同じ値を入力します。
- 押す:適用→ OK
- ゲームを実行します。