Не удается запустить приложение JavaFX с собственным пакетом exe, созданным с помощью intellij ide

#intellij-idea #javafx

#intellij-idea #javafx

Вопрос:

Я создал приложение JavaFX, которое может быть выполнено с помощью его jar-файла. Однако, если я попытаюсь запустить его с помощью собственного пакета exe, я получаю два всплывающих окна:

Метод вызова ошибки

Не удалось запустить JVM

и приложение не запускается.

Приложение Javafx построено с помощью intellij ide.

Структура проекта выглядит следующим образом;

введите описание изображения здесь

при запуске приложения отображается следующее всплывающее окно.. введите описание изображения здесь

введите описание изображения здесь

Конфигурационный файл выглядит следующим образом:- введите описание изображения здесь

Упакованный файл jar выполняется правильно… проблема возникает при запуске приложения с запуском exe-файла. пожалуйста, скажите мне, что могло пойти не так?

ОБНОВЛЕНИЕ: похоже, что каталог времени выполнения / bin для вывода сборки не содержит java.exe файл, поэтому я думаю, что приложение не запускается. вывод при попытке запустить приложение выглядит следующим образом:

введите описание изображения здесь

я создал приложение с помощью intellij idea, я думаю, что с этим есть проблема. Пожалуйста, изучите этот вопрос.

ОБНОВЛЕНО:-

введите описание изображения здесь

Комментарии:

1. Проверьте еще раз свои параметры на вкладке Конфигурация артефакта -> Java FX, включая собственный пакет: тип. Также обязательно попробуйте запустить его с помощью JDK 1.8 (добавьте его в качестве расположения JAVA_HOME).

2. сэр, я использую jdk15

Ответ №1:

Запустите его из командной строки, используя среду выполнения, которая была включена для вас:

Если вы создали исполняемый файл Jar (с соответствующим манифестом, указывающим путь к классу и основной класс)

 cd firecap
runtimebinjava -jar applibsyour-main.jar
  

Если у вас нет исполняемого файла jar, используйте что-то вроде

 cd firecap
runtimebinjava -cp applibs*.* your.main.class.name
  

Поскольку java.exe это консольная программа, в которой вы должны иметь возможность видеть полный вывод ошибок, чтобы получить лучшее представление о том, что происходит не так.

Скорее всего, вы пропустили включение необходимого модуля во время выполнения.

Также возможно, что вы столкнулись с ошибкой, которую я недавно обнаружил: https://bugs.openjdk.java.net/browse/JDK-8254920

Я создал свой образ среды выполнения с помощью этой команды:

 "C:Program FilesBellSoftLibericaJDK-15-Fullbinjlink.exe"  --no-header-files --no-man-page, --compress=1 --add-modules java.management,java.logging,javafx.controls,java.xml,java.desktop --output C:MyProjectbuildimageruntime
  

Но ваш может отличаться в зависимости от того, какие модули вам нужны. Также обратите внимание, что я использовал JDK от BellSoft, который включал модули JavaFX, чтобы упростить его.

Комментарии:

1. Как вы сказали, я запустил приложение, и оно не работает, и когда я проверил каталог bin, там нет java.exe файл заявки. я думаю, что из-за этого происходит сбой приложения. Я думаю, что intellij idea неправильно построила приложение. как я могу преодолеть эту проблему.

2. Не должно быть java.exe в папке runtimebin. Если используется jpackage, используется его exe-файл запуска и java.exe не требуется. Если у вас есть доступ к параметрам jpackage, добавьте —win-console, чтобы вы могли легко просматривать сообщения об ошибках.

3. Есть ли журнал сборки, которым вы могли бы поделиться, или конкретные параметры конфигурации? Я не использую Intellij Idea (я считаю, что для его правильной работы требуется слишком много настроек), поэтому я не знаю, что конкретно он пытается сделать. Если бы у вас был файл сборки Gradle или что-то в этом роде, это было бы полезно.

4. сэр, не могли бы вы предоставить мне несколько ссылок, чтобы я мог использовать gradle для сборки и развертывания javafx.

5. я перепробовал все из openjfx, но не работает, потому что у меня немного знаний о gradle.