方式一
將jar包做成exe服務(wù),可以實現(xiàn)自啟動的方式。
方式二
將jar使用bat腳本啟動,再通過vbs腳本控制bat腳本后臺啟動,避免黑窗口的出現(xiàn),進(jìn)行開啟自啟動。
方式一:服務(wù)模式
環(huán)境安裝,電腦需要安裝Microsoft.NETFramework 4,如果有的話可以不安裝
下載 WinSW.NET4.exe 和 sample-minimal.xml
將下載到兩個文件放到j(luò)ar包所在的目錄中
重命名為和xxx.jar包同名的xxx.exe、xxx.xml兩份文件
編輯xxx.xml文件
<service><!-- 刪除服務(wù)時的w唯一ID標(biāo)識 --><id>xxx</id><!-- 展示在服務(wù)列表里的名字 --><name>xxx</name><!-- 簡介 --><description>xxx微服務(wù)</description><!-- JAVA環(huán)境變量 --><envname="JAVA_HOME"value="%JAVA_HOME%"/><executable>java</executable><!-- JAVA啟動命令參數(shù) 由 java -jar path 決定 --><arguments>-jar "%BASE%\xxx.jar"</arguments><!-- 開機(jī)啟動 --><startmode>Automatic</startmode><!-- 日志配置路徑 --><logpath>%BASE%\log</logpath><logmode>rotate</logmode></service>復(fù)制代碼
在當(dāng)前目錄中進(jìn)入CMD黑窗口,執(zhí)行xxx.exe install命令,這樣服務(wù)中已經(jīng)存在了
WIN+R輸入services.msc,就可以看到以xxx名字命名的服務(wù)
CMD黑窗口其它命令
### 安裝服務(wù)
xxx.exe install
### 重啟服務(wù)
xxx.exe restart
### 停止服務(wù)
xxx.exe stop
### 卸載服務(wù)
xxxx.exe uninstall
復(fù)制代碼
到此為止,已完成服務(wù)自啟動功能,以下是為了方便,也可以使用bat腳本啟動
啟動服務(wù),新建start.bat文件,并編輯內(nèi)容
@ECHO OFF
setlocal EnableDelayedExpansion
color 3e
### 黑窗口標(biāo)題(僅注釋,實際需要刪除此內(nèi)容)
title xxx
PUSHD %~DP0 & cd /d "%~dp0"
%1 %2
mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :runas","","runas",1)(window.close)&goto :eof
:runas
### 安裝服務(wù)命令(僅注釋,實際需要刪除此內(nèi)容)
xxx.exe install
### 啟動服務(wù)命令(僅注釋,實際需要刪除此內(nèi)容)
net start xxx
echo 執(zhí)行完畢,任意鍵退出
pause >nul
exit
復(fù)制代碼
停止服務(wù),新建stop.bat文件,并編輯內(nèi)容
@ECHO OFF
setlocal EnableDelayedExpansion
color 3e
### 黑窗口標(biāo)題(僅注釋,實際需要刪除此內(nèi)容)
title xxx
PUSHD %~DP0 & cd /d "%~dp0"
%1 %2
mshta vbscript:createobject("shell.application").shellexecute("%~s0","goto :runas","","runas",1)(window.close)&goto :eof
:runas
### 停止服務(wù)命令(僅注釋,實際需要刪除此內(nèi)容)
net stop xxx
### 卸載服務(wù)命令(僅注釋,實際需要刪除此內(nèi)容),是否需要卸載根據(jù)實際情況決定
xxx.exe uninstall
echo 執(zhí)行完畢,任意鍵退出
pause >nul
exit
復(fù)制代碼
方式二:腳本
在jar包同級目錄下新建start.bat和stop.bat文件,并編輯內(nèi)容
啟動start.bat內(nèi)容編輯
:: 指定字符集utf-8
chcp 65001
@echo off
title 準(zhǔn)備啟動設(shè)備驅(qū)動...................
color 3E
start javaw -Dfile.encoding=utf-8 -jar xxx.jar
echo .
echo ------------ 正在啟動 --------------
echo .
:: 10秒后啟動完成
timeout /t 10
echo .
echo ------------ 啟動成功 --------------
echo .
timeout /t 2
exit
復(fù)制代碼
停止stop.bat內(nèi)容編輯
chcp 65001
@echo off
title 停止設(shè)備驅(qū)動
color 3E
taskkill -f -t -im javaw.exe
echo .
echo ------------停止成功!--------------------
echo .
timeout /t 5
exit
復(fù)制代碼
到了這一步,其實就可以實現(xiàn)后臺啟動了,但是并非開機(jī)自啟動。想要實現(xiàn)還需創(chuàng)建init.vbs腳本執(zhí)行,避免開啟自啟動時出現(xiàn)黑窗口
編輯init.vbs內(nèi)容,最后的0表示cmd窗口隱藏運行,路徑不要有中文
set ws=WScript.CreateObject("WScript.Shell")
ws.Run "目標(biāo)路徑\start.bat /start",0復(fù)制代碼
通過WIN+R輸入shell:startup,打開win自啟動文件夾目錄文章來源:http://www.zghlxwxcb.cn/news/detail-477532.html
最后,將init.vbs快捷方式直接放到自啟動文件夾目錄中,這樣就可以實現(xiàn)開機(jī)自啟動功能文章來源地址http://www.zghlxwxcb.cn/news/detail-477532.html
到了這里,關(guān)于win自啟動jar包兩種方式的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!