Программа Java, установленная пакетным установщиком (созданным с помощью jpackage), работает в фоновом режиме (не открывает ни одного окна) - ошибка

Я новичок в java. Прежде чем я перейду к сути, позвольте мне представить вам, где я сейчас нахожусь. Извините за долгую историю.

Я сделал пакетный установщик для своего приложения с jpackage. Я впервые упаковал простую программу hello world, просто чтобы протестировать команду jpackage. Как только он создал упакованный установщик, я установил с ним свою программу hello world.

Затем я перешел к C:\Program Files\Hello World и затем выполнил HelloWorld.exe файл .; но ничего не произошло. Чтобы решить эту проблему, я перестроил файл HelloWorld.jar с бесконечным циклом в конце. Потом перепаковал и заново переустановил программу. Затем я снова запустил HelloWorld.exe.

Однако на этот раз я довольно долго видел синий кружок возле курсора мыши. Итак, я открыл диспетчер задач с прокруткой вниз и обнаружил, что в списке фоновых процессов запущена программа HelloWorld! Вот скриншот:

снимок экрана диспетчера задач

Итак, вот мой вопрос: почему мое Java-приложение, которое я создал с помощью упакованного установщика, созданного с помощью packaged, работает в фоновом режиме? Почему не открываются окна консоли?

РЕДАКТИРОВАТЬ: я забыл включить команду, которую я использовал для создания своего упакованного установщика. Вот:

jpackage -t exe --name HelloWorld --input D:\Fida\Codeblocks\Java\Projects\HelloWorld\dist --dest D:\Fida\CodeBlocks\java --main-jar HelloWorld.jar --module-path "C:\Program Files\Java\jdk-16.0.1\jmods" --add-modules java.base --description "Hello World Program" --app-version 1.0.0 --vendor Fida --icon D:\icon_file.ico --copyright Fida --win-shortcut --win-menu

person Programmer Hobbyist    schedule 21.06.2021    source источник


Ответы (1)


Чтобы консоль отображалась при запуске приложения, необходимо добавить параметр --win-console при вызове jpackge:

Platform dependent option for creating the application launcher:
  --win-console
          Creates a console launcher for the application, should be
          specified for application which requires console interactions
person Jorn Vernee    schedule 21.06.2021
comment
Я должен был полностью прочитать документацию jpackage, прежде чем задавать этот вопрос. Оно работает! - person Programmer Hobbyist; 21.06.2021