Attività: è necessario creare un file JAR eseguibile con un gioco JavaFX tramite il motore grafico di CodeGym.

Per questo hai bisogno di:

  1. Fork dal repository https://github.com/CodeGymCC/project-maven
  2. Scarica la tua versione del progetto sul tuo computer. Successivamente, lavoreremo con il file pom.xml .
  3. 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)
  4. 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-ClasseRsrc-Main-Class
    • Class-PathTutte le nostre dipendenze JAR dovrebbero essere registrate in .
    • Deve essere scritta una Main-Classclasse org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoaderin grado di utilizzare il classpath dai file JAR e che può anche avviare un'applicazione JavaFX.
    • Rsrc-Main-ClassLa classe di partenza del gioco (com.codegym.games.racer.RacerGame) deve essere registrata al suo interno .
  5. 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.
  6. 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/
  7. Carica le modifiche nel tuo repository GitHub, invia un link ad esso all'insegnante.

Utile:

  1. La build deve essere eseguita con il comando mvn clean install .
  2. L'esecuzione del gioco (tramite Maven) ai fini della visualizzazione può essere eseguita con il comando mvn javafx:run.
  3. Alcuni plugin devono sovrascrivere phase .
  4. Il progetto utilizza JDK versione 18.0.1. Deve essere scaricato sul tuo computer.
  5. Quando si costruisce tramite Maven, all'inizio ci saranno degli errori. Leggili attentamente e semplificherai la tua vita.
  6. 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.
  7. 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"
  8. Di conseguenza vedrai:
  9. 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!