Сборка артефакта 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,

Потрачено впустую два дня.

Другие вопросы по тегам