国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務器之家 - 編程語言 - Java教程 - 詳解SpringBoot注冊Windows服務和啟動報錯的原因

詳解SpringBoot注冊Windows服務和啟動報錯的原因

2021-07-21 14:26ITDragon龍 Java教程

這篇文章主要介紹了詳解SpringBoot注冊Windows服務和啟動報錯的原因,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

windows系統啟動java程序會彈出黑窗口。黑窗口有幾點不好。首先它不美觀;其次容易誤點導致程序關閉;但最讓我匪夷所思的是:將鼠標光標選中黑窗口日志信息,程序竟然不會繼續執行,日志也不會繼續輸出。從而導致頁面一直處于請求狀態。回車后程序才能正常執行。同時客戶希望我們能部署在windows系統上并且做到開機自動啟動。針對以上需求將系統程序注冊成windows服務變得尤為重要。

針對于springboot程序,目前主流的方法是采用winsw,簡單方便。可是在開發過程中,針對不同的系統,啟動服務可能會出現意想不到的結果。同樣的配置方法,在win10可以成功注冊并啟動服務。而在windows server 2012 卻啟動失敗。這里分享我的經驗。

注冊windows服務制作流程

winsw是?款可以將可執?程序安裝成windows service的開源具,官方地址下載地址

制作步驟:

第一步:將springboot項目打包成myserver.jar

第二步:將下載的winsw.net2.exe 改名為myserver.exe

第三步:將下載的sample-minimal.xml 改名為myserver.xml

第四步:注冊和啟動服務

這里重點介紹 sample-minimal.xml 文件

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<service>
 <!-- windows 服務唯一標識id-->
 <id>my server</id>
 <!-- windows 服務名稱-->
 <name>my server</name>
 <!-- windows 服務描述-->
 <description>this service is a service cratead from a minimal configuration</description>
 <!-- 啟動的可執行文件的路徑,如果已經配置環境變量,則不必寫全路徑(則其實是一個坑) -->
 <executable>java</executable>
 <arguments> -jar myserver.jar --spring.datasource.url=jdbc:mysql://localhost:3306/database </arguments>
 <!-- 日志路徑,若目錄不存在,則默認為配置文件所在的同一目錄-->
 <logpath>serverpath\log\dashboard\</logpath>
 <!-- 日志模式,默認為append追加模型,rotate為旋轉模式-->
 <logmode>rotate</logmode>
</service>

executable:啟動可執行文件的全路徑,如果配置環境變量,則可以簡寫,所有這里填寫java

arguments:命令執行的參數

logpath:配置日志路徑

logmode:日志輸出模式,默認為append,官方文檔

  • append (追加模式)其特點是將日志文件全部輸出在一個文件中,這個文件可能會越來越大。
  • rotate(旋轉模式,推薦)當日志文件大小達到10兆(默認值),winsw會將日志重新輸出到另外一份日志文件,最多保留8個(默認值)。
  • reset(重置模式)每次重啟服務都會重置日志文件。
  • none(忽略模式)幾乎不會生成日志文件。

winsw常用命令

  • myserver.exe install:安裝服務
  • myserver.exe uninstall:刪除服務
  • myserver.exe start:啟動服務
  • myserver.exe stop:停?服務
  • myserver.exe restart:重啟服務
  • myserver.exe status:輸出當前服務的狀態

myserver.exe 是winsw.net2.exe文件。在win10系統上一次成功,沒有多余的煩惱。可生活哪有這么容易,在windows server 2012 r2的系統上啟動失敗。有錯誤不可怕,可怕的是不會找錯誤日志。

詳解SpringBoot注冊Windows服務和啟動報錯的原因

啟動windows服務失敗

服務啟動成功后自動關閉,配置的日志文件也沒有生成。嘗試用cmd執行java -jar的命令,服務可以正常啟動。但可具體是什么錯誤卻不得而知。其實windows服務是有日志管理的。選擇:控制面板---管理工具---事件查看器---window日志---應用程序---找出對應服務的日志。如下:

?
1
2
3
4
5
6
service cannot be started.
system.componentmodel.win32exception: the system cannot find the file specified
at system.diagnostics.process.startwithcreateprocess(processstartinfo startinfo)
at winsw.wrapperservice.startprocess(process processtostart, string arguments, string executable)
at winsw.wrapperservice.onstart(string[] _)
at system.serviceprocess.servicebase.servicequeuedmaincallback(object state)

提示很清楚,系統沒有找到指定文件,而在winsw的xml文件中就已經配置了executable,并且配置了環境變量。那為什么還提示文件沒有找到?抱著試一試的心態,將java改為了全路徑。重新注冊服務并啟動,結果服務啟動成功了。一肚子的火不知道往那撒。

為了避免這種事情再次發生,決定將executable的內容設置成java的全路徑,于是簡單寫了一個bat文件。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
@echo off
# 獲取java環境變量
set java_home=%java_home%
echo %java_home%
# 替換java路徑
setlocal enabledelayedexpansion
set file=%cd%\myserver.xml
set file_tmp=%cd%\myserver_tmp.xml
set source=javahome
set replaced=%java_home%\bin\java
 
for /f "delims=" %%i in (%file%) do (
  set str=%%i
    set "str=!str:%source%=%replaced%!"
    echo !str!>>%file_tmp%
)
move "%file_tmp%" "%file%"
# 注冊并啟動服務
myserver.exe uninstall
myserver.exe install
myserver.exe start
exit

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://www.cnblogs.com/itdragon/p/10513474.html

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 久久久久久久国产精品 | 久久在线视频 | 成人理论片 | 精品国产一区二区三区久久 | 91麻豆精品国产91久久久资源速度 | 国产精品自拍视频网站 | 亚洲精品久久久久久久久久久久久 | 红桃成人少妇网站 | 午夜成人免费视频 | 91亚洲国产精品 | 成人特黄a级毛片免费视频 国产在线视频一区二区 | 亚洲一区中文字幕 | 天天综合天天做天天综合 | 亚洲一区成人在线观看 | av在线第一页 | 久久只有精品 | 亚洲精品a | 免费国产一区 | 91se在线| 国产精品视频导航 | av片在线播放 | 毛片视频免费播放 | 国产精品久久久久久久天堂 | 91久久国产精品 | 国产在线观 | 精品久久久久久国产 | 免费成人av | 精品免费一区二区 | 草草成人 | 骚视频在线观看 | 亚洲日本va中文字幕 | 337p亚洲欧洲 | 久久久久久一区 | 日本欧美久久久久免费播放网 | 99久久免费精品国产男女性高好 | 欧美国产精品一区二区三区 | 久久久久久久久久久蜜桃 | 性色网 | 精品一区二区电影 | 男女免费观看在线爽爽爽视频 | 成人av一区二区亚洲精 |