Aufgabe: Sie müssen über die Grafik-Engine von CodeGym eine ausführbare JAR-Datei mit einem JavaFX-Spiel erstellen.
Dafür benötigen Sie:
- Fork aus dem Repository https://github.com/CodeGymCC/project-maven
- Laden Sie Ihre Version des Projekts auf Ihren Computer herunter. Als nächstes werden wir mit der Datei pom.xml arbeiten .
- Abhängigkeiten hinzufügen:
- org.apache.commons:commons-lang3:3.12.0
- org.openjfx:javafx-controls:18.0.1
- com.codegym: desktop-game-engine:1.0 (diese Abhängigkeit wird in einem separaten Beitrag behandelt)
- org.junit.jupiter: junit-jupiter-engine: 5.8.2 (mit Scope-Test)
- Plugins hinzufügen für:
- Installieren der Abhängigkeit com.codegym:desktop-game-engine:1.0 aus der lib-Bibliothek in das lokale Repository (Google für Hilfe);
- Lassen Sie das Maven-Compiler-Plugin-Plugin unverändert.
- ein Plugin, das alle Abhängigkeiten sammelt (mit Umfangskompilierung) und sie während des Builds zu einem Verzeichnis hinzufügt;
- das Maven-Jar-Plugin-Plugin , das eine JAR-Datei erstellt, die den Spielcode und die Abhängigkeiten enthält. In diesem Plugin müssen Sie die Datei MANIFEST.MF so konfigurieren, dass sie die Abschnitte ,
Class-Path
undMain-Class
enthältRsrc-Main-Class
Class-Path
Alle unsere JAR-Abhängigkeiten sollten in registriert sein.- Es muss eine
Main-Class
Klasse geschrieben werdenorg.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader
, die den Klassenpfad aus JAR-Dateien verwenden und auch eine JavaFX-Anwendung starten kann. - Darin
Rsrc-Main-Class
muss die Startklasse des Spiels (com.codegym.games.racer.RacerGame) eingetragen sein . - Nehmen Sie im Maven-Surefire-Plugin eine Konfiguration vor, damit der StrangeTest- Test beim Build nicht ausgeführt wird. Der Rest der Tests sollte ausgeführt werden.
- Fügen Sie einen Abschnitt „Ressourcen“ hinzu , um anzugeben, dass die erstellten JAR-Abhängigkeiten eine Ressource sind, sodass das Maven-Jar-Plugin sie in die JAR-Datei im Ordner lib/ einfügt
- Laden Sie Änderungen in Ihr GitHub-Repository hoch und senden Sie einen Link dazu an den Lehrer.
Nützlich:
- Der Build muss mit dem Befehl mvn clean install ausgeführt werden .
- Das Ausführen des Spiels (über Maven) zum Zweck der Anzeige kann mit dem Befehl mvn javafx:run erfolgen.
- Einige Plugins müssen Phase überschreiben .
- Das Projekt verwendet JDK Version 18.0.1. Es muss auf Ihren Computer heruntergeladen werden.
- Beim Bauen über Maven kommt es zunächst zu Fehlern. Lesen Sie sie sorgfältig durch und Sie werden Ihr Leben vereinfachen.
- Ändern Sie nichts am Paket org.eclipse.jdt.internal.jarinjarloader . Es verfügt über eine benutzerdefinierte Loader-Klasse (ehrlich von StackOverflow kopiert), in der der Start der Hauptmethode geändert wird, um die JavaFX-Anwendung zu starten. Nur für Bildungszwecke verwenden.
- Wenn Sie alle Punkte erledigt haben, erhalten Sie als Ergebnis der Montage eine Fat-JAR-Datei . Sie können mit dem folgenden Befehl starten und überprüfen, ob alles richtig gemacht wurde:
<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"
- Als Ergebnis sehen Sie:
- Der Build hängt von Ihrem Betriebssystem ab. Das heißt, wenn eine JAR-Datei unter Windows erstellt wird, kann sie auf jedem Windows-Computer mit Java18 ausgeführt werden. Und das ist auf Mac und Linux nicht möglich.
Projektanalyse . Nach Fertigstellung ansehen!
GO TO FULL VERSION