本文介紹了如何在沒(méi)有CMD窗口的情況下運(yùn)行jlink生成的Java運(yùn)行時(shí)鏡像?的處理方法,對(duì)大家解決問(wèn)題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!
問(wèn)題描述
我已經(jīng)為一個(gè)簡(jiǎn)單的OpenJFX應(yīng)用程序創(chuàng)建了Java運(yùn)行時(shí)映像。為了運(yùn)行這款應(yīng)用,jlink在%image_path%/bin
目錄下自動(dòng)生成了兩個(gè)lauch腳本。它看起來(lái)是這樣的(Windows版):
@echo off
set JLINK_VM_OPTIONS=
set DIR=%~dp0
"%DIR%java" %JLINK_VM_OPTIONS% -m app/com.package.Launcher %*
顯然,當(dāng)我運(yùn)行這個(gè)批處理文件時(shí),它會(huì)打開(kāi)新的外殼窗口,這不是我想要的。我嘗試了所有常見(jiàn)的方法:使用javaw
而不是java
,通過(guò)start
命令運(yùn)行腳本等,但都不起作用。
是否可以避免外殼窗口或以某種方式創(chuàng)建本機(jī)啟動(dòng)程序?
推薦答案
好了,我想完全消除外殼窗口是不可能的。在最好的情況下,它只會(huì)閃爍~1秒。這是實(shí)現(xiàn)這一目標(biāo)的方法:
@echo off
set JLINK_VM_OPTIONS=
set DIR=%~dp0
start "" "%DIR%javaw" %JLINK_VM_OPTIONS% -m app/com.package.Launcher %* && exit 0
有關(guān)于native laucher implementation的功能請(qǐng)求,但未積極討論。
盡管如此,我還是解決了這個(gè)問(wèn)題。有”批處理到EXE轉(zhuǎn)換器”工具。它可以生成可以靜默運(yùn)行您的應(yīng)用程序的可執(zhí)行文件(基本相同的批處理文件)。
這篇關(guān)于如何在沒(méi)有CMD窗口的情況下運(yùn)行jlink生成的Java運(yùn)行時(shí)鏡像?的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,