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:

  1. Fork aus dem Repository https://github.com/CodeGymCC/project-maven
  2. Laden Sie Ihre Version des Projekts auf Ihren Computer herunter. Als nächstes werden wir mit der Datei pom.xml arbeiten .
  3. 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)
  4. 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-Pathund Main-ClassenthältRsrc-Main-Class
    • Class-PathAlle unsere JAR-Abhängigkeiten sollten in registriert sein.
    • Es muss eine Main-ClassKlasse geschrieben werden org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader, die den Klassenpfad aus JAR-Dateien verwenden und auch eine JavaFX-Anwendung starten kann.
    • Darin Rsrc-Main-Classmuss die Startklasse des Spiels (com.codegym.games.racer.RacerGame) eingetragen sein .
  5. 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.
  6. 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
  7. Laden Sie Änderungen in Ihr GitHub-Repository hoch und senden Sie einen Link dazu an den Lehrer.

Nützlich:

  1. Der Build muss mit dem Befehl mvn clean install ausgeführt werden .
  2. Das Ausführen des Spiels (über Maven) zum Zweck der Anzeige kann mit dem Befehl mvn javafx:run erfolgen.
  3. Einige Plugins müssen Phase überschreiben .
  4. Das Projekt verwendet JDK Version 18.0.1. Es muss auf Ihren Computer heruntergeladen werden.
  5. Beim Bauen über Maven kommt es zunächst zu Fehlern. Lesen Sie sie sorgfältig durch und Sie werden Ihr Leben vereinfachen.
  6. Ä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.
  7. 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"
  8. Als Ergebnis sehen Sie:
  9. 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!