На этот вопрос уже есть ответ:
Я пытаюсь создать приложение JavaFX, которое я сделал в Windows работать для Ubuntu. Я создал файл .jar, и он отлично работает в Windows 10, но не работает в Ubuntu. Независимо от того, дважды ли я щелкаю по нему с рабочего стола (с включенным запуском как исполняемый файл) или запускаю его с терминала, я продолжаю получать некоторую форму ошибки, что он не может найти мой основной класс. Javac тоже не работает, получая там такую же ошибку. Это мой файл МАНИФЕСТА:
Manifest-Version: 1.0
Implementation-Title:
Implementation-Version:
Permissions: sandbox
JavaFX-Version: 8.0
Class-Path:
Created-By: JavaFX Packager
Implementation-Vendor:
Main-Class: Main
Я установил Java с помощью команды apt install default-jre
. Есть идеи?
Это ошибка, которую я получаю при запуске java -jar myApp.jar
:
Could not find or load main class Main
Caused by: java.lang.NoClassDefFoundError: javarx/application/Application
После установки javafx, который, как указали некоторые, необходим, он по-прежнему не работает. Выполнение команды java
дает то же самое (см. Выше). Вот несколько примеров выполнения команды javac
:
javac myApp.jar
или javac myApp
error: Class names, 'myApp.jar', are only accepted if annotation processing is explicitly requested
javac -cp myApp.jar
или javac - cp myApp
javac: no source files
Я предполагаю, что Вы используете Ubuntu 18.04 или Ubuntu 18.10. У них есть Java 11 как значение-по-умолчанию-jre. Java 11 не имеет Java FX. Необходимо установить отдельный Java время выполнения FX на Ubuntu или упаковать все необходимые библиотеки (модули) Java FX в приложении с Maven или Gradle. Для упаковки необходимо сделать сборку в Linux (Ubuntu), потому что затем Maven/Gradle загрузит lib для Linux. Да сборка на ОС.
Подробнее: https://stackoverflow.com/questions/52013505/how-do-i-use-javafx-11-in-eclipse/52015953#52015953
Больше информации о Java FX 11: https://openjfx.io/openjfx-docs/#install-java
Если Ваше приложение сделано с Java 8 (Java 1.8), содержащий Java FX, и Вы не хотите изменяться на Java 11 затем, необходимо установить, Открывают, Java 8 на Ubuntu + устанавливают openjfx
Другое решение будет состоять в том, чтобы установить Oracle Java 8 для Ubuntu, которая будет содержать JavaFx.
Больше информации, как установить Java: https://www.digitalocean.com/community/tutorials/how-to-install-java-with-apt-on-ubuntu-18-04
Я надеюсь, что помогаю.
Лучшая удача ко всем!