Как запустить сгенерированный jlink образ времени выполнения Java без окна CMD? - PullRequest
0 голосов
/ 10 января 2019

Я создал образ среды выполнения Java для простого приложения OpenJFX. Чтобы запустить это приложение, jlink автоматически сгенерировал два сценария lauch в каталоге %image_path%/bin. Вот как это выглядит (для Windows):

@echo off
set JLINK_VM_OPTIONS=
set DIR=%~dp0
"%DIR%\java" %JLINK_VM_OPTIONS% -m app/com.package.Launcher %*

Очевидно, что когда я запускаю этот командный файл, он открывает новое окно оболочки, а это не то, что я хочу. Я испробовал все распространенные подходы: используйте javaw вместо java, запустите скрипт с помощью команды start и т. Д. Ничего не работает.

Можно ли избежать окна оболочки или как-то создать родной лаунчер?

1 Ответ

0 голосов
/ 10 января 2019

Хорошо, я понял, что невозможно полностью исключить окно оболочки. В лучшем случае это просто мерцает в течение ~ 1 сек. Вот как это может быть достигнуто:

@echo off
set JLINK_VM_OPTIONS=
set DIR=%~dp0
start "" "%DIR%\javaw" %JLINK_VM_OPTIONS% -m app/com.package.Launcher %* && exit 0

Существует запрос на добавление собственной реализации laucher , но он не обсуждается активно.

Тем не менее я решил проблему. Существует инструмент «Batch to EXE Converter». Он может генерировать исполняемый файл (в основном тот же пакетный файл), который может запускать ваше приложение без вывода сообщений.

...