天天看點

Java無架構腳本在windows中打包注冊成服務設定開機自啟動

1 打成jar包

我這邊用的是maven來進行打包,進入項目中使用指令mvn clean install來進行打包,由于我這邊涉及一些dll檔案。是以打包後,這些檔案要按照腳本的調用路徑與jar包放在同級目錄下。比如我在腳本中調用了"src\\main\\resources\\dll\\lib\\XX.dll",那麼在jar包的目前目錄下要有個同級的src目錄,一層一層到最後有XX.dll,這樣腳本才能正常運作

2 做成服務

我這邊用的是winsw來進行注冊服務操作,參考如下連結:

https://blog.bossma.cn/server/winsw-install-executable-windows-service/

将winsw.exe與jar包放一起,并手動建立一個winsw.xml檔案。這三個檔案的名字一定是相同的。

我自己的xml檔案的内容如下所示,連結裡有更詳細的說明(我的jar包與winsw全都改成了xinan,這是我項目名)

<service>
	<id>xinan</id>
	<name>xinan</name>
	<description>xinan project</description>
	<executable>java</executable>
	<arguments>-Xrs -Xmx256m -jar "D:\winsw-master\xinan.jar" --httpPort=8080</arguments>
	<logmode>rotate</logmode>
</service>
           

然後在目前目錄下輸入指令來注冊jar包成服務winsw.exe install   (如果winsw.exe已改名為其他名稱,則改一下,不要直接複制我這個指令就用)

3 設定斷開自重新開機與開機自啟動

斷開自重新開機:找到你剛注冊的服務,點選右鍵屬性->恢複,在第一次、第二次、後續失敗都設定重新啟動服務

開機自啟動:找到你剛注冊的服務,點選右鍵屬性->正常,在啟動類型選擇自動