Tâche : Vous devez créer un fichier JAR exécutable avec un jeu JavaFX via le moteur graphique de CodeGym.

Pour cela, vous avez besoin de :

  1. Fork du référentiel https://github.com/CodeGymCC/project-maven
  2. Téléchargez votre version du projet sur votre ordinateur. Ensuite, nous allons travailler avec le fichier pom.xml .
  3. Ajoutez des dépendances :
    • org.apache.commons:commons-lang3:3.12.0
    • org.openjfx:javafx-controls:18.0.1
    • com.codegym: desktop-game-engine:1.0 (cette dépendance sera couverte dans un article séparé)
    • org.junit.jupiter : junit-jupiter-engine : 5.8.2 (avec test de portée)
  4. Ajouter des plugins pour :
    • installation de la dépendance com.codegym: desktop-game-engine:1.0 de la bibliothèque lib vers le référentiel local (google pour l'aide) ;
    • laissez le plugin maven-compiler-plugin inchangé ;
    • un plugin qui collectera toutes les dépendances (avec compilation de portée) et les ajoutera à un répertoire pendant la construction ;
    • le plugin maven-jar-plugin , qui créera un fichier jar contenant le code du jeu et ses dépendances. Dans ce plugin, vous devez configurer le fichier MANIFEST.MF pour qu'il contienne les sections : Class-Path, Main-ClassetRsrc-Main-Class
    • Class-PathToutes nos dépendances JAR doivent être enregistrées dans .
    • Une Main-Classclasse doit être écrite org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoaderpour pouvoir utiliser le chemin de classe des fichiers JAR et peut également démarrer une application JavaFX.
    • Rsrc-Main-ClassLa classe de départ du jeu (com.codegym.games.racer.RacerGame) doit y être enregistrée.
  5. Dans le plugin maven-surefire-plugin, faites une configuration pour que le test StrangeTest ne s'exécute pas sur build. Le reste des tests devrait fonctionner.
  6. Ajoutez une section "ressources" pour dire que les dépendances JAR construites sont une ressource afin que le maven-jar-plugin les place dans le fichier JAR dans le dossier lib/
  7. Téléchargez les modifications dans votre référentiel GitHub, envoyez un lien vers celui-ci à l'enseignant.

Utile:

  1. La construction doit être exécutée avec la commande mvn clean install .
  2. L'exécution du jeu (via Maven) à des fins de visualisation peut être effectuée avec la commande mvn javafx:run.
  3. Certains plugins doivent remplacer phase .
  4. Le projet utilise JDK version 18.0.1. Il doit être téléchargé sur votre ordinateur.
  5. Lors de la construction via Maven, il y aura des erreurs au début. Lisez-les attentivement et vous vous simplifierez la vie.
  6. Ne modifiez rien dans le package org.eclipse.jdt.internal.jarinjarloader . Il a une classe de chargeur personnalisée (honnêtement copiée de StackOverflow), dans laquelle le lancement de la méthode principale est modifié pour lancer l'application JavaFX. Utilisation à des fins éducatives uniquement.
  7. Si vous remplissez tous les points, à la suite de l'assemblage, vous recevrez un fichier fat-JAR . Vous pouvez démarrer et vérifier que tout est fait correctement avec la commande :
    <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. En conséquence, vous verrez:
  9. La construction dépend de votre système d'exploitation. Autrement dit, si un fichier JAR est construit sur Windows, il peut être exécuté sur n'importe quel ordinateur Windows avec Java18. Et cela ne peut pas être fait sur Mac et Linux.


Analyse du projet . Regardez après avoir terminé!