日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

bat启动脚本 springboot_奇葩需求:springboot项目注册为windows系统服务并设置开机自启...

發布時間:2025/3/15 windows 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 bat启动脚本 springboot_奇葩需求:springboot项目注册为windows系统服务并设置开机自启... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

關于springboot項目的部署與SSM(框架)部署war包到Tomcat下有所不同,比較明顯的是springboot打包為jar包,運行則是執行通過java -jar xxx.jar,不再需要放置在Tomcat下面運行。

關于springboot項目部署相對于之前簡化了一些步驟,只需要在服務器中安裝好jdk環境,然后執行java -jar xxx.jar就可以把項目跑起來,如下所示。

我們通過傳統--->改進版--->改進版plus--->最終版演變方式來一步步探討一下。

1、方式一(傳統版)

(1)假設這是window服務器,D盤中有一個名為demo-0.0.1-SNAPSHOT.jar項目

(2)打開cmd,運行項目。

端口:9527

/:去項目名

(3)實際測試項目(demo-0.0.1-SNAPSHOT.jar)中的一個接口

(4)測試訪問

2、改進版

以上方式運行項目還需要手動進入cmd輸入命令,相對來說比較麻煩。

下面我們可以通過一個bat腳本來實現這個功能。

(1)腳本內容,比較簡單。

(2)執行cmd腳本

(3)測試訪問

3、 改進版plus

關于以上的兩種方式不能滿足開機自啟動需求。

假設服務器宕機,重啟啟動服務還需要人工操作。

所以下面我們利用windows啟動菜單添加快捷方式來完成開機自啟的需求。 (1)win+R打開運行窗口,輸入shell:startup

(2)將步驟2的腳本start.cmd新建一個快捷方式,然后將快捷方式拷貝到啟動項文件中。

(3)重啟電腦進行測試,自行操作。

4、 最終版

關于以上的3種方式都有一個通病:

一直顯示著一個CMD窗口,而且這個窗口不能關,關了程序就停了。

繼而引出了我們今天的主角:

可以將Windows上的任何一個程序注冊為服務的工具--winsw

關于winsw官方發言:

WinSW is an executable binary, which can be used to wrap and manage a custom process as a Windows service.

WinSW是一個可執行的二進制文件,可用于將自定義進程包裝和管理為Windows服務。

下載地址:https://github.com/kohsuke/winsw/releases

源碼地址:https://github.com/kohsuke/winsw (1)工具下載

以下兩個版本:

WinSW.NET4.exe:

支持.netframework4.0的版本,如果沒有4.0,請先安裝.net4.0。

如下圖:

這里以WinSW.NET2.exe為例。

下載到桌面WinSW.NET2.exe

(2)將WinSW.NET2.exe改名成啟動服務名字(便于理解、使用)。

如:將WinSW.NET2.exe改成springbootDemo.exe (3)新建一個WinSW的xml配置文件 注意: XML文件要和程序名同名,所以這里名為springbootDemo.xml

(4)將我們的springboot項目(demo-0.0.1-SNAPSHOT.jar)和springbootDemo.xml文件、springbootDemo.exe工具放置到同一個目錄中。

(5)編寫springbootDemo.xml配置文件,如下所示:

<service><id>springbootDemo</id><name>springbootDemo</name><description>This is springbootDemo service.</description><env name="JAVA_HOME" value="%JAVA_HOME%"/><executable>java</executable><arguments>-jar "D:springboot-servicedemo-0.0.1-SNAPSHOT.jar"</arguments><startmode>Automatic</startmode><logpath>%BASE%log</logpath><logmode>rotate</logmode></service>

下面是配置文件用到的標簽的簡單解釋

<!-- 這里的根元素必須是service節點 --><service><!-- 指定在Windows系統內部使用的識別服務的ID,唯一 --><id>springbootDemo</id><!-- 服務的簡短名稱,唯一 --><name>springbootDemo</name><!-- 描述 --><description>This is springbootDemo service.</description><!-- java環境變量 --><env name="JAVA_HOME" value="%JAVA_HOME%"/><!-- 指定要啟動的可執行文件。 --><executable>java</executable><!-- 指定要傳遞給可執行文件的參數,即:java -jar "D:springboot-servicedemo-0.0.1-SNAPSHOT.jar" --><arguments>-jar "D:springboot-servicedemo-0.0.1-SNAPSHOT.jar"</arguments><!-- 開機啟動 --><startmode>Automatic</startmode><!-- 日志配置 --><logpath>%BASE%log</logpath><logmode>rotate</logmode></service>

(6)打開cmd窗口,注冊服務

cd springboot-service

springbootDemo.exe install

安裝成功 (7)Win+R輸入services.msc

(8)可以看到我們剛剛的springboot項目已經被注冊成一個window服務了

在這里我們可以對我們的springbootDemo項目進行啟動、停止、手動開啟、自動開啟等等管理。

測試完成。 補充:

一些常用的命令

winsw install:安裝服務

winsw uninstall:卸載服務

winsw start:開啟服務

winsw stop:停止服務

winsw restart:重新啟動服務

winsw status:檢查服務的當前狀態

作者:雙主雙機熱備
來源:http://suo.im/5yPoPJ

總結

以上是生活随笔為你收集整理的bat启动脚本 springboot_奇葩需求:springboot项目注册为windows系统服务并设置开机自启...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。