Loyiha mavzusi: Maven

All lectures for UZ purposes
Daraja, Dars
Mavjud

Vazifa: JavaFX o'yinni JavaRush grafik dvigateli yordamida ishga tushiriladigan JAR-fayl hosil qilish kerak.

Buning uchun kerak:

  1. Repository'dan fork qilish https://github.com/vasylmalik/project-maven.git
  2. Loyihani kompyuteringa yuklab olish. Keyin pom.xml fayli bilan ishlaymiz.
  3. 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)
  4. 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-Class va Rsrc-Main-Class
    • Class-Pathda bizning barcha JAR-dependencies yozilishi kerak.
    • Main-Classda org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader sinfi 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.
  5. maven-surefire-plugin pluginida konfiguratsiyani amalga oshirib, StrangeTest testi yig'ilishda ishga tushmasligini ta'minlash kerak. Boshqa testlar bajarilishi kerak.
  6. “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
  7. O'zgartirishlarni GitHub-repository'ingizga yuklash, ustozga havolani yuborish.

Foydali tavsiyalar:

  1. Build qilinganda mvn clean install buyrug'ini ishlatish kerak.
  2. O'yinni ishga tushirish (Maven orqali) ko'rish uchun mvn javafx:run buyrug'ini ishlatish mumkin.
  3. Ba'zi pluginlarga phase'ni qayta aniqlash kerak bo'lishi mumkin.
  4. Loyihada JDK 18.0.1 versiyasi ishlatiladi. U kompyuteringizda yuklangan bo'lishi kerak.
  5. Maven orqali build qilganda avval xatolar bo'ladi. Ularni diqqat bilan o'qing va ishni yengillashtirasiz.
  6. 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.
  7. 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"  
    
  8. Nihoyat siz quyidagini ko'rasiz:
  9. 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!

Izohlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION