方式一:javaw -jar yourJarFile.jar
如果在使用 javaw -jar yourJarFile.jar
啟動時仍然出現(xiàn)了命令行窗口,這可能是由于你的 JAR 文件中存在控制臺輸出。即使使用 javaw
啟動器,如果 JAR 文件中有輸出到標(biāo)準(zhǔn)輸出流(System.out)的操作,它也會彈出命令行窗口來顯示這些輸出
方式二:
創(chuàng)建一個.bat文件,其他照抄,注意一下你自己的jar包路徑和日志路徑:例:java -jar C:\data\operation-1.0-SNAPSHOT.jar > C:\data\log.log 2>&1 &
------------文件內(nèi)容
@echo off %1
mshta vbscript:CreateObject("WScript.Shell").Run("%~s0 ::",0,FALSE)(window.close)&&java -jar D:\sync\wm-data-sync-api-1.0.0.jar > D:\sync\logs\data-sync-dos.log 2>&1 &?
exit
@echo off %1
mshta vbscript:CreateObject("WScript.Shell").Run("%~s0 ::",0,FALSE)(window.close)&&java -jar D:\sync\wm-data-sync-api-1.0.0.jar > D:\sync\logs\data-sync-dos.log 2>&1 &
exit
------------文件內(nèi)容
下面對這段腳本逐行進行解釋:
-
@echo off
: 這是一個命令,表示在執(zhí)行腳本時不要在命令行中顯示每個命令的執(zhí)行結(jié)果。 -
%1 mshta vbscript:CreateObject("WScript.Shell").Run("%~s0 ::",0,FALSE)(window.close)&&exit
: 這一行是一個特殊的命令,用于實現(xiàn)通過參數(shù)關(guān)閉批處理窗口的功能。-
%1
: 這個表示第一個傳遞給批處理腳本的參數(shù)。在這個腳本中,該參數(shù)被用于觸發(fā)關(guān)閉窗口的功能。 -
mshta
: 這是 Windows 自帶的一個工具,用于運行 HTML 應(yīng)用程序。 -
vbscript:CreateObject("WScript.Shell").Run("%~s0 ::",0,FALSE)(window.close)
: 這部分是 VBScript 代碼,通過WScript.Shell
對象的Run
方法打開當(dāng)前批處理腳本(即%~s0
)并執(zhí)行一個空循環(huán)(::
表示空標(biāo)簽),然后立即關(guān)閉窗口。
總結(jié)起來,這行命令的作用是如果傳遞了一個參數(shù)給批處理腳本,那么將打開一個空的 HTML 應(yīng)用程序,并立即關(guān)閉當(dāng)前的批處理窗口。
-
-
java -jar F:\IdeaProjects\im-api\target\im-api-0.0.1-SNAPSHOT.jar > imApiLog.log 2>&1 &
: 這行命令用于啟動 Java 應(yīng)用程序,并將標(biāo)準(zhǔn)輸出和錯誤輸出重定向到imApiLog.log
文件中。-
java -jar F:\IdeaProjects\im-api\target\im-api-0.0.1-SNAPSHOT.jar
: 這是用于啟動 Java 應(yīng)用程序的命令,其中-jar
參數(shù)用于指定要運行的 JAR 文件的路徑。 -
> imApiLog.log
: 這是用于將標(biāo)準(zhǔn)輸出重定向到imApiLog.log
文件中的部分。>
表示覆蓋寫入,即如果imApiLog.log
文件已經(jīng)存在,會先清空文件內(nèi)容再寫入新的輸出內(nèi)容。 -
2>&1
: 這是用于將標(biāo)準(zhǔn)錯誤輸出(stderr)重定向到與標(biāo)準(zhǔn)輸出(stdout)相同的位置,即都寫入到imApiLog.log
文件中。 -
&
: 這是一個命令分隔符,用于在后臺異步執(zhí)行該命令,即啟動 Java 應(yīng)用程序后立即返回命令行,而不等待 Java 程序執(zhí)行完畢。
-
-
exit
: 這是用于退出批處理腳本的命令,在啟動 Java 應(yīng)用程序后,腳本將自動退出。文章來源:http://www.zghlxwxcb.cn/news/detail-637117.html
總體來說,這段批處理腳本的功能是啟動一個 Java 應(yīng)用程序,并將標(biāo)準(zhǔn)輸出和錯誤輸出重定向到imApiLog.log
文件中。同時,如果向批處理腳本傳遞一個參數(shù),它將觸發(fā)關(guān)閉批處理窗口的功能。文章來源地址http://www.zghlxwxcb.cn/news/detail-637117.html
到了這里,關(guān)于windows下 java程序無窗口啟動、無窗口啟動java -jar的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!