Vazifa: JavaFX o'yinni JavaRush grafik dvigateli yordamida ishga tushiriladigan JAR-fayl hosil qilish kerak.
Buning uchun kerak:
- Repository'dan fork qilish https://github.com/vasylmalik/project-maven.git
- Loyihani kompyuteringa yuklab olish. Keyin pom.xml fayli bilan ishlaymiz.
- Quyidagi dependencies qo'shish:
- org.apache.commons: commons-lang3: 3.12.0
- org.openjfx: javafx-controls: 18.0.1
- com.javarush: desktop-game-engine:1.0 (bu dependency haqida alohida topshiriq bor)
- org.junit.jupiter: junit-jupiter-engine: 5.8.2 (scope test)
- Quyidagi pluginlarni qo'shish:
- com.javarush: desktop-game-engine:1.0 dependencies library'dan lib ichidagi mahalliy repository'ga qo'shish uchun (google yordam beradi);
- maven-compiler-plugin ni o'zgartirmasdan qoldirish;
- compile scope'dagi barcha dependencies yig'ish va bir direktoriya ichiga joylash plugin;
- maven-jar-plugin plugin, bu jar fayl hosil qiladi, o'yin kodi va dependencies ichida bo'ladi. Bu pluginda MANIFEST.MF faylini sozlash kerak, u quyidagi bo'limlarni saqlashi kerak:
Class-Path,Main-ClassvaRsrc-Main-Class Class-Pathda bizning barcha JAR-dependencies yozilishi kerak.Main-Classdaorg.eclipse.jdt.internal.jarinjarloader.JarRsrcLoadersinfi bo'lishi kerak, bu classpathni JAR-fayllardan foydalanib va JavaFX ilovasini ishga tushirishi mumkin.Rsrc-Main-Classda o'yinning boshlang'ich sinfi (com.javarush.games.racer.RacerGame) yozilishi kerak.- maven-surefire-plugin pluginida konfiguratsiyani amalga oshirib, StrangeTest testi yig'ilishda ishga tushmasligini ta'minlash kerak. Boshqa testlar bajarilishi kerak.
- “resources” bo'limini qo'shish, unda yig'ilgan JAR-dependencies resurs sifatida ko'rsatishi kerak, shunda maven-jar-plugin ularni JAR-fayl ichiga lib/ papkasiga joylashtiradi
- O'zgartirishlarni GitHub-repository'ingizga yuklash, ustozga havolani yuborish.
Foydali tavsiyalar:
- Build qilinganda mvn clean install buyrug'ini ishlatish kerak.
- O'yinni ishga tushirish (Maven orqali) ko'rish uchun mvn javafx:run buyrug'ini ishlatish mumkin.
- Ba'zi pluginlarga phase'ni qayta aniqlash kerak bo'lishi mumkin.
- Loyihada JDK 18.0.1 versiyasi ishlatiladi. U kompyuteringizda yuklangan bo'lishi kerak.
- Maven orqali build qilganda avval xatolar bo'ladi. Ularni diqqat bilan o'qing va ishni yengillashtirasiz.
- org.eclipse.jdt.internal.jarinjarloader paketida hech narsani o'zgartirmang. Unda maxsus class loader (StackOverflow'dan to'g'ridan-to'g'ri ko'chirilgan), bunda main metodi ishga tushirilishi JavaFX ilovasini ishga tushirilishga o'zgartirilgan. Faqat o'quv maqsadida foydalanish.
- Hamma punktlarni bajarsangiz, build natijasida fat-JAR-fayl hosil bo'ladi. Hammasi to'g'ri qilinganini ishga tushirish va tekshirish uchun quyidagi buyrug'ni ishlatishingiz mumkin:
<java 18 ga yo'l> -jar <javob beruvchi jar fayli nomi> //Misol "C:\Users\leo12\.jdks\openjdk-18.0.1.1\bin\java.exe" -jar "E:\temp\project-maven-1.0.jar" - Nihoyat siz quyidagini ko'rasiz:
![]()
- Build sizning operatsion tizimingizga bog'liq. Ya'ni, agar JAR-fayl Windowsda yig'ilgan bo'lsa, uni Windows va Java18 bilan bo'lgan har qanday kompyuterda ishlatish mumkin. Mac va Linuxda ishlatib bo'lmaydi.
Loyihani tahlil qilish. Bajarilgandan so'ng ko'rish!

GO TO FULL VERSION