タスク: CodeGym のグラフィックス エンジンを介して、JavaFX ゲームを含む実行可能 JAR ファイルを作成する必要があります。

このためには次のものが必要です。

  1. リポジトリhttps://github.com/CodeGymCC/project-mavenからフォークします
  2. プロジェクトのバージョンをコンピュータにダウンロードします。次に、 pom.xmlファイルを操作します。
  3. 依存関係を追加します。
    • org.apache.commons:commons-lang3:3.12.0
    • org.openjfx:javafx-controls:18.0.1
    • com.codegym:desktop-game-engine:1.0 (この依存関係については別の投稿で説明します)
    • org.junit.jupiter: junit-jupiter-engine: 5.8.2 (スコープテストあり)
  4. 次のプラグインを追加します。
    • 依存関係com.codegym:desktop-game-engine:1.0 をlib ライブラリからローカル リポジトリにインストールします (Google でヘルプを参照)。
    • maven -compiler-plugin プラグインは変更しないままにしておきます。
    • すべての依存関係を (スコープ コンパイルを使用して) 収集し、ビルド中にそれらをディレクトリに追加するプラグイン。
    • maven -jar-plugin プラグイン。ゲーム コードと依存関係を含む jar ファイルを作成します。このプラグインでは、セクション、およびセクションを含むようにMANIFEST.MFファイルを構成する必要がありますClass-PathMain-ClassRsrc-Main-Class
    • Class-Pathすべての JAR 依存関係はに登録する必要があります。
    • JAR ファイルからのクラスパスを使用でき、JavaFX アプリケーションを起動できるクラスMain-Classを作成する必要があります。org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader
    • Rsrc-Main-Classゲームの開始クラス (com.codegym.games.racer.RacerGame) をそれに登録する必要があります。
  5. maven-surefire-pluginで、ビルド時にStrangeTestテストが実行されないように設定します。残りのテストを実行する必要があります。
  6. 「resources」セクションを追加して、ビルドされた JAR 依存関係がリソースであることを示し、maven-jar-plugin がそれらをlib/フォルダー内の JAR ファイル内に配置します。
  7. 変更を GitHub リポジトリにアップロードし、そのリンクを教師に送信します。

使える:

  1. ビルドはmvn clean installコマンドを使用して実行する必要があります。
  2. 表示する目的でゲームを (Maven 経由で) 実行するには、mvn javafx:ru​​n コマンドを使用します。
  3. 一部のプラグインは、 phaseをオーバーライドする必要があります。
  4. プロジェクトでは JDK バージョン 18.0.1 を使用します。コンピュータにダウンロードする必要があります。
  5. Maven を介してビルドする場合、最初はエラーが発生します。それらを注意深く読めば、あなたの人生は簡素化されます。
  6. org.eclipse.jdt.internal.jarinjarloaderパッケージは何も変更しないでください。これにはカスタム ローダー クラス (StackOverflow からコピーされたもの) があり、メイン メソッドの起動が JavaFX アプリケーションを起動するように変更されます。教育目的のみに使用してください。
  7. すべてのポイントを完了すると、アセンブリの結果として、 fat-JAR ファイルを受け取ります。次のコマンドを使用して開始し、すべてが正しく行われたことを確認できます。
    <way to java 18> -jar <the name of the resultant jar file>
    
    //Example
    "C:\Users\leo12\.jdks\openjdk-18.0.1.1\bin\java.exe" -jar "E:\temp\project-maven-1.0.jar"
  8. 結果として、次のことがわかります。
  9. ビルドはオペレーティング システムによって異なります。つまり、JAR ファイルが Windows 上で構築されている場合は、Java18 を搭載した任意の Windows コンピュータ上で実行できます。また、Mac と Linux では実行できません。


プロジェクト分析完成後も見てね!