рдХрд╛рд░реНрдп: рддреБрдореНрд╣рд╛рд▓рд╛ CodeGym рд╡рд░реВрди рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдЗрдВрдЬрд┐рдирджреНрд╡рд╛рд░реЗ JavaFX рдЧреЗрдорд╕рд╣ рдПрдХ рдПрдХреНрдЭрд┐рдХреНрдпреВрдЯреЗрдмрд▓ JAR рдлрд╛рдЗрд▓ рдмрдирд╡рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

рдпрд╛рд╕рд╛рдареА рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ:

  1. рд░реЗрдкреЙрдЬрд┐рдЯрд░реА https://github.com/CodeGymCC/project-maven рд╡рд░реВрди рдлреЛрд░реНрдХ
  2. рдЖрдкрд▓реНрдпрд╛ рд╕рдВрдЧрдгрдХрд╛рд╡рд░ рдкреНрд░рдХрд▓реНрдкрд╛рдЪреА рдЖрд╡реГрддреНрддреА рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рд╛. рдкреБрдвреЗ, рдЖрдкрдг pom.xml рдлрд╛рдЗрд▓рд╕рд╣ рдХрд╛рд░реНрдп рдХрд░реВ .
  3. рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ рдЬреЛрдбрд╛:
    • org.apache.commons:commons-lang3:3.12.0
    • org.openjfx:javafx-controls:18.0.1
    • com.codegym: desktop-game-engine:1.0 (рд╣реЗ рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ рд╡реЗрдЧрд│реНрдпрд╛ рдкреЛрд╕реНрдЯрдордзреНрдпреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХреЗрд▓реЗ рдЬрд╛рдИрд▓)
    • org.junit.jupiter: junit-jupiter-engine: 5.8.2 (рд╕реНрдХреЛрдк рдЪрд╛рдЪрдгреАрд╕рд╣)
  4. рдпрд╛рд╕рд╛рдареА рдкреНрд▓рдЧрдЗрди рдЬреЛрдбрд╛:
    • рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреЗ com.codegym: desktop-game-engine:1.0 lib рд▓рд╛рдпрдмреНрд░рд░реАрдкрд╛рд╕реВрди рд╕реНрдерд╛рдирд┐рдХ рд░реЗрдкреЙрдЬрд┐рдЯрд░реАрдкрд░реНрдпрдВрдд (рдорджрддреАрд╕рд╛рдареА google);
    • maven -compiler-plugin рдкреНрд▓рдЧрдЗрди рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╕реЛрдбрд╛;
    • рдПрдХ рдкреНрд▓рдЧрдЗрди рдЬреЗ рд╕рд░реНрд╡ рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ рдЧреЛрд│рд╛ рдХрд░реЗрд▓ (рд╕реНрдХреЛрдк рдХрдВрдкрд╛рдЗрд▓рд╕рд╣) рдЖрдгрд┐ рдмрд┐рд▓реНрдб рджрд░рдореНрдпрд╛рди рддреНрдпрд╛рдВрдирд╛ рдХрд╛рд╣реА рдирд┐рд░реНрджреЗрд╢рд┐рдХреЗрдд рдЬреЛрдбреЗрд▓;
    • maven -jar-plugin рдкреНрд▓рдЧрдЗрди , рдЬреЗ рдЧреЗрдо рдХреЛрдб рдЖрдгрд┐ рдЕрд╡рд▓рдВрдмрди рдЕрд╕рд▓реЗрд▓реА рдЬрд╛рд░ рдлрд╛рдЗрд▓ рдмрдирд╡реЗрд▓. рдпрд╛ рдкреНрд▓рдЧрдЗрдирдордзреНрдпреЗ, рддреБрдореНрд╣рд╛рд▓рд╛ рд╡рд┐рднрд╛рдЧ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА MANIFEST.MFClass-Path рдлрд╛рдЗрд▓ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ: , Main-ClassрдЖрдгрд┐Rsrc-Main-Class
    • рдЖрдордЪреНрдпрд╛ рд╕рд░реНрд╡ JAR рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡рд╛рдВрдЪреА рдиреЛрдВрджрдгреА Class-PathрдХреЗрд▓реА рдкрд╛рд╣рд┐рдЬреЗ .
    • JAR рдлрд╛рдИрд▓реНрд╕рдордзреАрд▓ рдХреНрд▓рд╛рд╕рдкрд╛рде рд╡рд╛рдкрд░реВ рд╢рдХреЗрд▓ рдЖрдгрд┐ JavaFX рдНрдкреНрд▓рд┐рдХреЗрд╢рди рджреЗрдЦреАрд▓ рд╕реБрд░реВ рдХрд░реВ рд╢рдХреЗрд▓ рдЕрд╕рд╛ рд╡рд░реНрдЧ Main-Classрд▓рд┐рд╣рд┐рд▓рд╛ рдкрд╛рд╣рд┐рдЬреЗ .org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader
    • Rsrc-Main-ClassрдЧреЗрдордЪрд╛ рдкреНрд░рд╛рд░рдВрдн рд╡рд░реНрдЧ (com.codegym.games.racer.RacerGame) рдпрд╛рдордзреНрдпреЗ рдиреЛрдВрджрдгреАрдХреГрдд рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.
  5. maven-surefire-plugin рдордзреНрдпреЗ , рдПрдХ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдмрдирд╡рд╛ рдЬреЗрдгреЗрдХрд░реВрди StrangeTest рдЪрд╛рдЪрдгреА рдмрд┐рд▓реНрдбрд╡рд░ рдЪрд╛рд▓рдгрд╛рд░ рдирд╛рд╣реА. рдмрд╛рдХреАрдЪреНрдпрд╛ рдЪрд╛рдЪрдгреНрдпрд╛ рдЭрд╛рд▓реНрдпрд╛ рдкрд╛рд╣рд┐рдЬреЗрдд.
  6. рдмрд┐рд▓реНрдЯ JAR рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ рдПрдХ рд╕рдВрд╕рд╛рдзрди рдЖрд╣реЗ рд╣реЗ рд╕рд╛рдВрдЧрдгреНрдпрд╛рд╕рд╛рдареА "рд╕рдВрд╕рд╛рдзрди" рд╡рд┐рднрд╛рдЧ рдЬреЛрдбрд╛ рдЬреЗрдгреЗрдХрд░реВрди maven-jar-plugin рддреНрдпрд╛рдВрдирд╛ JAR рдлрд╛рдЗрд▓рдордзреНрдпреЗ lib/ рдлреЛрд▓реНрдбрд░рдордзреНрдпреЗ рдареЗрд╡рддреЗ.
  7. рддреБрдордЪреНрдпрд╛ GitHub рднрд╛рдВрдбрд╛рд░рд╛рдд рдмрджрд▓ рдЕрдкрд▓реЛрдб рдХрд░рд╛, рддреНрдпрд╛рдЪреА рд▓рд┐рдВрдХ рд╢рд┐рдХреНрд╖рдХрд╛рдВрдирд╛ рдкрд╛рдард╡рд╛.

рдЙрдкрдпреБрдХреНрдд:

  1. рдмрд┐рд▓реНрдб mvn clean install рдХрдорд╛рдВрдбрдиреЗ рдЪрд╛рд▓рд╡рд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ .
  2. рдкрд╛рд╣рдгреНрдпрд╛рдЪреНрдпрд╛ рдЙрджреНрджреЗрд╢рд╛рдиреЗ рдЧреЗрдо рдЪрд╛рд▓рд╡рдгреЗ (Maven рджреНрд╡рд╛рд░реЗ) mvn javafx:run рдХрдорд╛рдВрдбрджреНрд╡рд╛рд░реЗ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ.
  3. рдХрд╛рд╣реА рдкреНрд▓рдЧрдЗрдирдирд╛ рдлреЗрдЬ рдУрд╡реНрд╣рд░рд░рд╛рдЗрдб рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ .
  4. рдкреНрд░рдХрд▓реНрдк JDK рдЖрд╡реГрддреНрддреА 18.0.1 рд╡рд╛рдкрд░рддреЛ. рддреЗ рддреБрдордЪреНрдпрд╛ рд╕рдВрдЧрдгрдХрд╛рд╡рд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.
  5. рдорд╛рд╡реЗрдирджреНрд╡рд╛рд░реЗ рдмрд╛рдВрдзрдХрд╛рдо рдХрд░рддрд╛рдирд╛, рдкреНрд░рдердо рддреНрд░реБрдЯреА рдЕрд╕рддреАрд▓. рддреЗ рдХрд╛рд│рдЬреАрдкреВрд░реНрд╡рдХ рд╡рд╛рдЪрд╛ рдЖрдгрд┐ рддреБрдореНрд╣реА рддреБрдордЪреЗ рдЬреАрд╡рди рд╕реЛрдкреЗ рдХрд░рд╛рд▓.
  6. org.eclipse.jdt.internal.jarinjarloader рдкреЕрдХреЗрдЬрдордзреНрдпреЗ рдХрд╛рд╣реАрд╣реА рдмрджрд▓реВ рдирдХрд╛ . рдпрд╛рдд рд╕рд╛рдиреБрдХреВрд▓ рд▓реЛрдбрд░ рд╡рд░реНрдЧ рдЖрд╣реЗ (рдкреНрд░рд╛рдорд╛рдгрд┐рдХрдкрдгреЗ рд╕реНрдЯреЕрдХрдУрд╡реНрд╣рд░рдлреНрд▓реЛрд╡рд░реВрди рдХреЙрдкреА рдХреЗрд▓реЗрд▓рд╛), рдЬреНрдпрд╛рдордзреНрдпреЗ JavaFX рдНрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд╛рдБрдЪ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдореБрдЦреНрдп рдкрджреНрдзрддреАрдЪреЗ рдкреНрд░рдХреНрд╖реЗрдкрдг рдмрджрд▓рд▓реЗ рдЖрд╣реЗ. рдХреЗрд╡рд│ рд╢реИрдХреНрд╖рдгрд┐рдХ рд╣реЗрддреВрдВрд╕рд╛рдареА рд╡рд╛рдкрд░рд╛.
  7. рдЖрдкрдг рд╕рд░реНрд╡ рдЧреБрдг рдкреВрд░реНрдг рдХреЗрд▓реНрдпрд╛рд╕, рдЕрд╕реЗрдВрдмреНрд▓реАрдЪреНрдпрд╛ рдкрд░рд┐рдгрд╛рдореА рдЖрдкрд▓реНрдпрд╛рд▓рд╛ рдлреЕрдЯ-рдЬреЗрдЖрд░ рдлрд╛рдЗрд▓ рдкреНрд░рд╛рдкреНрдд рд╣реЛрдИрд▓ . рддреБрдореНрд╣реА рд╕реБрд░реВ рдХрд░реВ рд╢рдХрддрд╛ рдЖрдгрд┐ рдХрдорд╛рдВрдбрд╕рд╣ рд╕рд░реНрд╡рдХрд╛рд╣реА рдпреЛрдЧреНрдпрд░рд┐рддреНрдпрд╛ рдХреЗрд▓реЗ рдЖрд╣реЗ рд╣реЗ рддрдкрд╛рд╕реВ рд╢рдХрддрд╛:
    <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. рдкрд░рд┐рдгрд╛рдореА рддреБрдореНрд╣рд╛рд▓рд╛ рджрд┐рд╕реЗрд▓:
  9. рдмрд┐рд▓реНрдб рддреБрдордЪреНрдпрд╛ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдорд╡рд░ рдЕрд╡рд▓рдВрдмреВрди рдЖрд╣реЗ. рдореНрд╣рдгрдЬреЗрдЪ рдЬрд░ Windows рд╡рд░ JAR рдлрд╛рдЗрд▓ рддрдпрд╛рд░ рдХреЗрд▓реА рдЕрд╕реЗрд▓ рддрд░ рддреА Java18 рд╕рд╣ рдХреЛрдгрддреНрдпрд╛рд╣реА Windows рд╕рдВрдЧрдгрдХрд╛рд╡рд░ рдЪрд╛рд▓рд╡рддрд╛ рдпреЗрддреЗ. рдЖрдгрд┐ рддреЗ Mac рдЖрдгрд┐ Linux рд╡рд░ рдХрд░рддрд╛ рдпреЗрдд рдирд╛рд╣реА.


рдкреНрд░рдХрд▓реНрдк рд╡рд┐рд╢реНрд▓реЗрд╖рдг . рдкреВрд░реНрдг рдЭрд╛рд▓реНрдпрд╛рдирдВрддрд░ рдкрд╣рд╛!