Görev: CodeGym'tan grafik motoru aracılığıyla bir JavaFX oyunuyla yürütülebilir bir JAR dosyası oluşturmanız gerekir.

Bunun için ihtiyacınız var:

  1. Depodan çatal https://github.com/CodeGymCC/project-maven
  2. Projenizin sürümünü bilgisayarınıza indirin. Ardından, pom.xml dosyasıyla çalışacağız .
  3. Bağımlılıklar ekleyin:
    • org.apache.commons:commons-lang3:3.12.0
    • org.openjfx:javafx-kontrolleri:18.0.1
    • com.codegym: desktop-game-engine:1.0 (bu bağımlılık ayrı bir gönderide ele alınacaktır)
    • org.junit.jupiter: junit-jupiter-engine: 5.8.2 (kapsam testi ile)
  4. Şunlar için eklenti ekleyin:
    • com.codegym: desktop-game-engine:1.0 bağımlılığını lib kitaplığından yerel depoya yüklemek (yardım için google);
    • maven -compiler-plugin eklentisini değiştirmeden bırakın;
    • tüm bağımlılıkları toplayacak (kapsam derlemesi ile) ve bunları derleme sırasında bir dizine ekleyecek bir eklenti;
    • oyun kodunu ve bağımlılıkları içeren bir jar dosyası oluşturacak olan maven-jar-plugin eklentisi . Bu eklentide, MANIFEST.MF dosyasını şu bölümleri içerecek şekilde yapılandırmanız gerekir : Class-Path, Main-ClassveRsrc-Main-Class
    • Class-PathTüm JAR bağımlılıklarımız .
    • JAR dosyalarından sınıf yolunu kullanabilen ve ayrıca bir JavaFX uygulamasını başlatabilen bir Main-Classsınıf yazılmalıdır .org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader
    • Rsrc-Main-ClassOyunun başlangıç ​​sınıfı (com.codegym.games.racer.RacerGame) içinde kayıtlı olmalıdır.
  5. Maven-surefire- eklentisinde , StrangeTest testinin yapı üzerinde çalışmaması için bir yapılandırma yapın . Testlerin geri kalanı çalışmalıdır.
  6. Yerleşik JAR bağımlılıklarının bir kaynak olduğunu söylemek için bir "kaynaklar" bölümü ekleyin , böylece maven-jar-eklentisi onları lib/ klasöründeki JAR dosyasının içine yerleştirir.
  7. Değişiklikleri GitHub deponuza yükleyin, bunun bağlantısını öğretmene gönderin.

Kullanışlı:

  1. Derleme , mvn clean install komutuyla çalıştırılmalıdır .
  2. Görüntüleme amacıyla oyunun çalıştırılması (Maven üzerinden) mvn javafx:run komutu ile yapılabilir.
  3. Bazı eklentilerin fazı geçersiz kılması gerekir .
  4. Proje, JDK sürüm 18.0.1'i kullanıyor. Bilgisayarınıza indirilmelidir.
  5. Maven aracılığıyla inşa ederken, ilk başta hatalar olacaktır. Onları dikkatlice okuyun ve hayatınızı kolaylaştıracaksınız.
  6. org.Eclipse.jdt.internal.jarinjarloader paketindeki hiçbir şeyi değiştirmeyin . JavaFX uygulamasını başlatmak için ana yöntemin başlatılmasının değiştirildiği özel bir yükleyici sınıfına (dürüstçe StackOverflow'tan kopyalanmıştır) sahiptir. Yalnızca eğitim amaçlı kullanın.
  7. Tüm noktaları tamamlarsanız, derleme sonucunda bir fat-JAR dosyası alacaksınız . Şu komutla her şeyin doğru şekilde yapılıp yapılmadığını kontrol edebilir ve başlatabilirsiniz:
    <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. Sonuç olarak şunları göreceksiniz:
  9. Yapı, işletim sisteminize bağlıdır. Yani, bir JAR dosyası Windows'ta oluşturulmuşsa, Java18 ile herhangi bir Windows bilgisayarda çalıştırılabilir. Ve Mac ve Linux'ta yapılamaz.


Proje analizi . Bitirdikten sonra izleyin!