タスク: CodeGym のグラフィックス エンジンを介して、JavaFX ゲームを含む実行可能 JAR ファイルを作成する必要があります。
このためには次のものが必要です。
- リポジトリhttps://github.com/CodeGymCC/project-mavenからフォークします
- プロジェクトのバージョンをコンピュータにダウンロードします。次に、 pom.xmlファイルを操作します。
- 依存関係を追加します。
- 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 (スコープテストあり)
- 次のプラグインを追加します。
- 依存関係com.codegym:desktop-game-engine:1.0 をlib ライブラリからローカル リポジトリにインストールします (Google でヘルプを参照)。
- maven -compiler-plugin プラグインは変更しないままにしておきます。
- すべての依存関係を (スコープ コンパイルを使用して) 収集し、ビルド中にそれらをディレクトリに追加するプラグイン。
- maven -jar-plugin プラグイン。ゲーム コードと依存関係を含む jar ファイルを作成します。このプラグインでは、セクション、およびセクションを含むようにMANIFEST.MFファイルを構成する必要があります
Class-Path
。Main-Class
Rsrc-Main-Class
Class-Path
すべての JAR 依存関係はに登録する必要があります。- JAR ファイルからのクラスパスを使用でき、JavaFX アプリケーションを起動できるクラス
Main-Class
を作成する必要があります。org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader
Rsrc-Main-Class
ゲームの開始クラス (com.codegym.games.racer.RacerGame) をそれに登録する必要があります。- maven-surefire-pluginで、ビルド時にStrangeTestテストが実行されないように設定します。残りのテストを実行する必要があります。
- 「resources」セクションを追加して、ビルドされた JAR 依存関係がリソースであることを示し、maven-jar-plugin がそれらをlib/フォルダー内の JAR ファイル内に配置します。
- 変更を GitHub リポジトリにアップロードし、そのリンクを教師に送信します。
使える:
- ビルドはmvn clean installコマンドを使用して実行する必要があります。
- 表示する目的でゲームを (Maven 経由で) 実行するには、mvn javafx:run コマンドを使用します。
- 一部のプラグインは、 phaseをオーバーライドする必要があります。
- プロジェクトでは JDK バージョン 18.0.1 を使用します。コンピュータにダウンロードする必要があります。
- Maven を介してビルドする場合、最初はエラーが発生します。それらを注意深く読めば、あなたの人生は簡素化されます。
- org.eclipse.jdt.internal.jarinjarloaderパッケージは何も変更しないでください。これにはカスタム ローダー クラス (StackOverflow からコピーされたもの) があり、メイン メソッドの起動が JavaFX アプリケーションを起動するように変更されます。教育目的のみに使用してください。
- すべてのポイントを完了すると、アセンブリの結果として、 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"
- 結果として、次のことがわかります。
- ビルドはオペレーティング システムによって異なります。つまり、JAR ファイルが Windows 上で構築されている場合は、Java18 を搭載した任意の Windows コンピュータ上で実行できます。また、Mac と Linux では実行できません。
プロジェクト分析。完成後も見てね!
GO TO FULL VERSION