- Сообщения
- 137
- Реакции
- 424
Лаунчер и Java: устраняем ошибки запуска на macOS
Если ты читаешь это, значит ты, как и многие, столкнулся с тем, что лаунчер не запускается, молчит, ругается на JavaFX, или появляется что-то вроде: JavaFX libraries not found или Exception in thread "main" java.lang.UnsupportedClassVersionError.

Перерыл весь форум, прошёлся по всем гайдам по установке Java — толку ноль. То инфа неактуальная, то просто не работает. И я стал копаться в этой проблеме сам и в конце концов пришёл к решению.
- В чём проблема?
Для корректной работы лаунчера требуется установленная Java 17, причём не любая, а именно та сборка, в которую встроен JavaFX — библиотека, отвечающая за графический интерфейс (окна, кнопки и т.д.), а также Java 8 (JRE). Наиболее надёжный вариант — использовать Liberica JDK Full, поскольку в ней JavaFX уже включён «из коробки». Помимо установки правильной версии, необходимо корректно задать переменную окружения JAVA_HOME, чтобы система точно знала, какую именно Java использовать при запуске. Особенно это важно на macOS, где при наличии нескольких версий Java по умолчанию может использоваться неподходящая — и в итоге лаунчер либо не запускается вовсе, либо выдаёт ошибки, связанные с отсутствием нужных компонентов.
- Установка Java (Пошаговая)
JDK 17.0.15
1) Перейди на официальный сайт BellSoft: *тык* // (https://bell-sw.com/pages/downloads/#jdk-17-lts)

2) Скроллишь до раздела macOS, выбираешь Full JDK, скачиваешь DMG и устанавливаешь.



JRE-8u451
1) Перейди на java.com: *тык* // ( )

2) Скроллишь до раздела macOS, скачиваешь DMG для своей архитектуры.



- Настройка переменной окружения JAVA_HOME
После установки нужных Java, нужно сообщить системе, что теперь она должна использовать именно эту Java, а не какую-то другую, установленную раньше. Для этого мы вручную прописываем переменную окружения JAVA_HOME.
> Открой Терминал и по очереди выполни следующие команды:
/Library/Java/JavaVirtualMachines/liberica-jdk-17-full.jdk/Contents/Home/bin/java |
Эта команда указывает системе путь к установленной Java. Переменная JAVA_HOME — это стандартная переменная, которую используют большинство Java-приложений (включая лаунчер), чтобы понять, где находится нужная версия.
export PATH="$JAVA_HOME/bin:$PATH" |
Эта команда добавляет папку bin из установленной Java в начало системного пути. Это нужно, чтобы команда java в терминале запускала именно эту версию, а не какую-то другую, стоящую глобально.
java -jar ~/Downloads/Votive_Remapped.jar |
Команда -jar "говорит" Java запустить JAR-файл. Путь ~/Downloads/Votive_Remapped.jar — это директория «Загрузки» и имя файла лаунчера. Если путь или имя будут указаны неправильно — запуск не произойдёт, и терминал просто ничего не выведет. Убедись, что файл действительно там и называется именно так.
!!! Важно: Эти команды работают только в рамках текущего терминала. Если хочешь, чтобы они применялись постоянно — нужно добавить их в файл ~/.zshrc (или ~/.bash_profile, в зависимости от оболочки).
- Создание ярлыка (Для удобства)
Если вы хотите запускать лаунчер двойным кликом, без ручного ввода команд в терминале — оформим это в виде полноценного приложения .app, которое будет вызывать shell-скрипт.
Шаг 1:
> Откройте терминал и создайте файл:
nano ~/Desktop/start-votive.sh |
> Вставьте в редактор следующий код (убедитесь, что путь к JDK корректен):
#!/bin/zsh export JAVA_HOME="/Library/Java/JavaVirtualMachines/liberica-jdk-17-full.jdk/Contents/Home" export PATH="$JAVA_HOME/bin:$PATH" java -jar ~/Downloads/Votive_Remapped.jar |
Сочетанием клавиш "control + o → Enter" (O) вы должны сохранить файлик, а сочетанием "control + x" - закрыть его.
> Сделайте скрипт исполняемым:
chmod +x ~/Desktop/start-votive.sh |
Шаг 2:
> Откройте Script Editor (/Applications/Utilities/Script Editor.app):

> Вставьте следующий код, указав полный путь к скрипту:
do shell script "/Users/USERNAME/Desktop/start-votive.sh" |
Замените USERNAME на имя вашей домашней директории (можно узнать через whoami в терминале).

> Перейдите в File → Export...

> Сохраните. На рабочем столе появится Votive Launcher.app, который можно запускать двойным кликом.

Готово. Теперь у вас есть простой GUI-ярлык для запуска лаунчера через корректно настроенную Java 17.
Последнее редактирование модератором: