Сборка артефакта IntelliJ не работает с терминала
Я использую Ubuntu 16.04 LTS с IntelliJ Idea Community Edition.
Завершив настольное приложение, я хочу экспортировать его в автономное приложение. У меня установлена JRE9.
После короткого 60-секундного руководства в этом видео, которое также совпадает с руководством по веб-сайту IntelliJ.
Поэтому я перехожу на вкладку "Структура проекта", "Артефакты", "Добавить", "Перейти к JavaFX", выбираю основной класс, "ОК", собираю артефакт, открываю содержащую его папку и...
Двойной щелчок по файлу.jar говорит о том, что он не исполняемый, поэтому я chmod +x file.jar
чтобы сделать его исполняемым, и это все еще не работает.
Так что в терминале я иду в каталог и введите java -jar file.jar
но это говорит Error: Could not find or load main class sample.Main
,
Но я выбрал основной класс в окне Артефакта.
Любые идеи, как это исправить? Благодарю.
ОБНОВИТЬ
Моя структура содержимого каталога / файла / файла выглядит следующим образом:
WorkingDirectory
Myjar.jar
META-INF
MANIFEST.MF
Manifest-Version: 1.0
Created-By: JavaFX Packager
Main-Class: sample.Main
Class-Path:
Permissions: sandbox
JavaFX-Version: 9.0.4
sample
Main.class
public static void main(String[] args) { launch(args); }
MyLib1.jar
MyLib2.jar
у меня тоже есть .jar
файлы
1 ответ
Какой кошмар. Кажется, в моей системе установлено два JDK, и мой проект IntelliJ настроен на использование JDK 9.0.4. Моя система Linux по умолчанию использует другую версию.
Так что все, что мне нужно было напечатать в конце концов, было /opt/jdk-9.0.4/bin/java -jar JavaFXApp.jar
,
Потрачено впустую два дня.