งาน: คุณต้องสร้างไฟล์ปฏิบัติการ JAR ด้วยเกม JavaFX ผ่านเอ็นจิ้นกราฟิกจาก CodeGym

สำหรับสิ่งนี้คุณต้อง:

  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ซึ่งจะสร้างไฟล์ jar ที่มีรหัสเกมและการอ้างอิง ในปลั๊กอินนี้ คุณต้องกำหนด ค่าไฟล์ MANIFEST.MFให้มีส่วน: Class-Path, Main-ClassและRsrc-Main-Class
    • Class-Pathการพึ่งพา JAR ทั้งหมดของเราควรลงทะเบียนใน .
    • Main-Classต้องเขียนคลาสที่org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoaderสามารถใช้ classpath จากไฟล์ JAR และยังสามารถเริ่มแอ็พพลิเคชัน JavaFX
    • ต้องลง ทะเบียนRsrc-Main-Classคลาสเริ่มต้นของเกม (com.codegym.games.racer.RacerGame)
  5. ในmaven-surefire-pluginให้กำหนดค่าเพื่อ ไม่ให้การทดสอบ StrangeTestทำงานบนบิลด์ การทดสอบที่เหลือควรทำ
  6. เพิ่ม ส่วน "ทรัพยากร"เพื่อบอกว่าการอ้างอิง JAR ที่สร้างขึ้นเป็นทรัพยากรเพื่อให้ปลั๊กอิน maven-jarวางไว้ในไฟล์ JAR ใน โฟลเดอร์ lib/
  7. อัปโหลดการเปลี่ยนแปลงไปยังที่เก็บ GitHub ของคุณ ส่งลิงก์ไปยังครูผู้สอน

มีประโยชน์:

  1. ต้องรันบิลด์ด้วยคำ สั่ง mvn clean install
  2. การรันเกม (ผ่าน Maven) เพื่อจุดประสงค์ในการดูสามารถทำได้ด้วยคำสั่ง mvn javafx:run
  3. ปลั๊กอินบางตัวจำเป็นต้องแทนที่phase .
  4. โครงการใช้ JDK เวอร์ชัน 18.0.1 จะต้องดาวน์โหลดลงในคอมพิวเตอร์ของคุณ
  5. เมื่อสร้างผ่าน Maven จะมีข้อผิดพลาดในตอนแรก อ่านอย่างละเอียดแล้วชีวิตคุณจะง่ายขึ้น
  6. ห้าม เปลี่ยนแปลง สิ่งใด ใน แพ็กเก จ org.eclipse.jdt.internal.jarinjarloader มีคลาสตัวโหลดแบบกำหนดเอง (คัดลอกมาจาก StackOverflow โดยสุจริต) ซึ่งการเรียกใช้เมธอดหลักเปลี่ยนไปเพื่อเรียกใช้แอปพลิเคชัน JavaFX ใช้เพื่อการศึกษาเท่านั้น
  7. หากคุณทำครบทุกข้อ คุณจะได้รับไฟล์ fat-JAR อันเป็นผลมาจากการประกอบ คุณสามารถเริ่มต้นและตรวจสอบว่าทุกอย่างถูกต้องด้วยคำสั่ง:
    <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. บิลด์ขึ้นอยู่กับระบบปฏิบัติการของคุณ นั่นคือ ถ้าไฟล์ JAR สร้างขึ้นบน Windows ไฟล์นั้นจะสามารถเรียกใช้บนคอมพิวเตอร์ Windows ใดๆ ที่มี Java18 และไม่สามารถทำได้บน Mac และ Linux


การวิเคราะห์โครงการ ดูจบแล้ว!