一、前言
很多年前寫過一篇《使用java service wrapper把windows flume做成服務》的文章,也是把jar包安裝成windows服務,今天介紹另外一種更簡便的方案。
二、正片
這次使用的工具是 winsw
,一個Windows服務包裝器。下面看詳細介紹
首先從github中下載這個工具,下載地址如下 https://github.com/winsw/winsw/releases
有很多個版本,選擇適合自己系統的版本進行下載(示例是使用64位的安裝包),以及xml配置(二選一,本例以sample-minimal.xml為例)
把這兩個文件放到同一個目錄,然后把打包好的jar包也放進去,為了好區分,可以把exe和xml文件改成以jar包一樣的名字。如:
然后修改test-service.xml
配置,只需要修改四個地方,如圖
修改后的內容,中文可能會有異常,建議使用英文注釋
<service><!--安裝成Windows服務后的服務名--><id>test-service</id><!--顯示的服務名稱--><name>test-service</name><!--對服務的描述--><description>test-service</description><!--這里寫java的路徑,如何配置了環境變量直接寫"java"就行--><executable>java</executable><!--jar包的執行參數 -jar后面的是項目名--><arguments>-Dfile.encoding=utf-8 -Xmx256m -jar test-service-1.0.jar</arguments><!--日志模式--><logmode>rotate</logmode>
</service>
使用終端管理員執行服務安裝命令
test-service.exe install
顯示下面結果就表示成功
執行成功后,打開服務可查看到剛才安裝的服務
右鍵啟動,或者通過命令啟動。其他命令
命令 | 描述 |
---|---|
install | 安裝服務 |
uninstall | 卸載服務 |
start | 啟動服務 |
stop | 停止服務 |
restart | 重啟服務 |
status | 查看服務狀態 |
refresh | 刷新服務屬性,無需重新安裝 |
customize | 自定義包裝器可執行文件 |
dev | 實驗的命令 |
剩下的自己去嘗試吧。