Taak: U moet een uitvoerbaar JAR-bestand maken met een JavaFX-game via de grafische engine van CodeGym.
Hiervoor heb je nodig:
- Fork uit de repository https://github.com/CodeGymCC/project-maven
- Download uw versie van het project naar uw computer. Vervolgens gaan we werken met het bestand pom.xml .
- Afhankelijkheden toevoegen:
- org.apache.commons:commons-lang3:3.12.0
- org.openjfx:javafx-controls:18.0.1
- com.codegym: desktop-game-engine:1.0 (deze afhankelijkheid wordt in een apart bericht behandeld)
- org.junit.jupiter: junit-jupiter-engine: 5.8.2 (met scopetest)
- Voeg plug-ins toe voor:
- de afhankelijkheid installeren com.codegym: desktop-game-engine:1.0 van de lib-bibliotheek naar de lokale repository (google voor hulp);
- laat de plug-in maven-compiler-plug-in ongewijzigd;
- een plug-in die alle afhankelijkheden verzamelt (met scope-compilatie) en deze tijdens het bouwen aan een map toevoegt;
- de plug-in maven-jar-plugin , die een jar-bestand zal maken met de spelcode en afhankelijkheden. In deze plug-in moet u het bestand MANIFEST.MF configureren om secties te bevatten:
Class-Path
,Main-Class
enRsrc-Main-Class
Class-Path
Al onze JAR-afhankelijkheden moeten worden geregistreerd in .- Er moet een
Main-Class
klasse in worden geschrevenorg.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader
die het klassenpad uit JAR-bestanden kan gebruiken en ook een JavaFX-toepassing kan starten. Rsrc-Main-Class
De startklasse van het spel (com.codegym.games.racer.RacerGame) moet erin worden geregistreerd.- Maak in de maven-surefire-plug-in een configuratie zodat de StrangeTest- test niet op build wordt uitgevoerd. De rest van de tests moeten worden uitgevoerd.
- Voeg een sectie "bronnen" toe om aan te geven dat de ingebouwde JAR-afhankelijkheden een bron zijn, zodat de maven-jar-plug- in ze in het JAR-bestand in de map lib/ plaatst
- Upload wijzigingen naar je GitHub-repository, stuur een link ernaartoe naar de docent.
Bruikbaar:
- De build moet worden uitgevoerd met de opdracht mvn clean install .
- Het spel uitvoeren (via Maven) met het oog op weergave kan worden gedaan met de opdracht mvn javafx:run.
- Sommige plug-ins moeten fase overschrijven .
- Het project gebruikt JDK versie 18.0.1. Het moet op uw computer worden gedownload.
- Bij het bouwen via Maven zullen er in het begin fouten optreden. Lees ze aandachtig en u zult uw leven vereenvoudigen.
- Wijzig niets in het pakket org.eclipse.jdt.internal.jarinjarloader . Het heeft een aangepaste loader-klasse (eerlijk gekopieerd van StackOverflow), waarin de lancering van de hoofdmethode is gewijzigd om de JavaFX-toepassing te starten. Alleen voor educatieve doeleinden gebruiken.
- Als u alle punten voltooit, ontvangt u als resultaat van de montage een fat-JAR-bestand . U kunt starten en controleren of alles correct is gedaan met het commando:
<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 resultaat ziet u:
- De build is afhankelijk van uw besturingssysteem. Dat wil zeggen, als een JAR-bestand op Windows is gebouwd, kan het op elke Windows-computer met Java18 worden uitgevoerd. En het kan niet op Mac en Linux.
Project analyse . Kijk na voltooiing!