Завдання: зробити JAR-файл із грою на JavaFX за допомогою графічного рушія JavaRush.
Для цього потрібно:
- Зробити fork із репозиторію https://github.com/vasylmalik/project-maven.git.
- Завантажити свою версію проєкту на комп'ютер. Далі будемо працювати з файлом pom.xml.
- Додати залежності:
- org.apache.commons: commons-lang3: 3.12.0
- org.openjfx: javafx-controls: 18.0.1
- com.javarush: desktop-game-engine:1.0 (стосовно цієї залежності буде окреме завдання)
- org.junit.jupiter: junit-jupiter-engine: 5.8.2 (зі scope test)
- Додати плагіни для:
- установлення залежності com.javarush: desktop-game-engine:1.0 з бібліотеки lib до локального репозиторію (додаткову інформацію радимо пошукати через Google);
- плагін maven-compiler-plugin залишити без змін;
- плагін, який збере всі залежності (зі scope compile) та розмістить в якусь директорію при складанні;
- плагін 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.javarush.games.racer.RacerGame). - У плагіні maven-surefire-plugin створити конфігурацію, щоб тест StrangeTest не запускався при складанні. Інші тести повинні виконуватися.
- Додати секцію “resources”, у якій вказати, що зібрані JAR-залежності – це ресурс, щоб плагін maven-jar-plugin склав їх усередину JAR-файлу в папці lib/.
- Залити зміни до свого GitHub-репозиторію, надіслати посилання на нього викладачеві.
Корисне:
- Білд потрібно виконувати командою mvn clean install.
- Запуск гри (через Maven) для перегляду можна виконати командою mvn javafx: run.
- Деяким плагінам потрібно перевизначити phase.
- У проєкті використовується версія JDK 18.0.1. Вона має бути завантажена в тебе на комп'ютері.
- У білді через Maven спершу будуть помилки. Читай їх уважно, і ти спростиш собі життя.
- У пакеті org.eclipse.jdt.internal.jarinjarloader нічого не змінюй. У ньому кастомний клас-лоадер (чесно скопійований зі StackOverflow), в якому запуск методу main замінено на запуск JavaFX програми. Використовуй лише для навчальних цілей.
- Якщо виконати всі пункти, в результаті складання проєкту ти отримаєш fat-JAR-файл. Запустити та перевірити, що все зроблено правильно, можна командою:
<шлях до java 18> -jar <ім'я результуючого jar файла> //Приклад "C:\Users\leo12\.jdks\openjdk-18.0.1.1\bin\java.exe" -jar "E:\temp\project-maven-1.0.jar" - В результаті ти побачиш:
![]()
- Білд залежить від твоєї операційної системи. Тобто якщо JAR-файл зібрано на Windows, його можна виконати на будь-якому комп'ютері з Windows та Java 18 і не можна виконати на Mac та Linux.

ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ