Attività: è necessario creare un file JAR eseguibile con un gioco JavaFX tramite il motore grafico di CodeGym.
Per questo hai bisogno di:
- Fork dal repository https://github.com/CodeGymCC/project-maven
- Scarica la tua versione del progetto sul tuo computer. Successivamente, lavoreremo con il file pom.xml .
- Aggiungi dipendenze:
- org.apache.commons:commons-lang3:3.12.0
- org.openjfx:javafx-controls:18.0.1
- com.codegym: desktop-game-engine:1.0 (questa dipendenza sarà trattata in un post separato)
- org.junit.jupiter: junit-jupiter-engine: 5.8.2 (con test dell'ambito)
- Aggiungi plugin per:
- installazione della dipendenza com.codegym: desktop-game-engine:1.0 dalla libreria lib al repository locale (google per aiuto);
- lasciare invariato il plugin maven-compiler-plugin ;
- un plugin che raccoglierà tutte le dipendenze (con la compilazione dell'ambito) e le aggiungerà a qualche directory durante la compilazione;
- il plug-in maven-jar-plugin , che creerà un file jar contenente il codice del gioco e le dipendenze. In questo plugin, è necessario configurare il file MANIFEST.MF in modo che contenga le sezioni:
Class-Path
,Main-Class
eRsrc-Main-Class
Class-Path
Tutte le nostre dipendenze JAR dovrebbero essere registrate in .- Deve essere scritta una
Main-Class
classeorg.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader
in grado di utilizzare il classpath dai file JAR e che può anche avviare un'applicazione JavaFX. Rsrc-Main-Class
La classe di partenza del gioco (com.codegym.games.racer.RacerGame) deve essere registrata al suo interno .- Nel plug-in maven-surefire, crea una configurazione in modo che il test StrangeTest non venga eseguito su build. Il resto dei test dovrebbe essere eseguito.
- Aggiungi una sezione "risorse" per dire che le dipendenze JAR create sono una risorsa in modo che il plug-in maven-jar le metta all'interno del file JAR nella cartella lib/
- Carica le modifiche nel tuo repository GitHub, invia un link ad esso all'insegnante.
Utile:
- La build deve essere eseguita con il comando mvn clean install .
- L'esecuzione del gioco (tramite Maven) ai fini della visualizzazione può essere eseguita con il comando mvn javafx:run.
- Alcuni plugin devono sovrascrivere phase .
- Il progetto utilizza JDK versione 18.0.1. Deve essere scaricato sul tuo computer.
- Quando si costruisce tramite Maven, all'inizio ci saranno degli errori. Leggili attentamente e semplificherai la tua vita.
- Non modificare nulla nel pacchetto org.eclipse.jdt.internal.jarinjarloader . Ha una classe caricatore personalizzata (onestamente copiata da StackOverflow), in cui l'avvio del metodo principale viene modificato per avviare l'applicazione JavaFX. Utilizzare solo per scopi didattici.
- Se completi tutti i punti, come risultato dell'assemblaggio riceverai un file fat-JAR . Puoi iniziare e verificare che tutto sia fatto correttamente con il comando:
<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"
- Di conseguenza vedrai:
- La build dipende dal tuo sistema operativo. Cioè, se un file JAR è creato su Windows, può essere eseguito su qualsiasi computer Windows con Java18. E non può essere fatto su Mac e Linux.
Analisi del progetto . Guarda dopo il completamento!