SpringBoot打包部署成Windows服务

SpringBoot打包部署成Windows服务

精选文章moguli202024-12-24 10:53:1221A+A-

本机介绍一种利用Procrun,将Springboot程序编译成jar包部署成Windows服务方法。

步骤说明

1 、springboot程序打包,程序默认就打成jar包。比如demo-0.0.1-SNAPSHOT.jar

2、下载Procrun

Procrun是Apache推出的一套能让Java应用程序在Windows平台以服务的方式运行的插件。它主要包括两个程序:服务应用程序(名为prunsrv.exe),用于转换任一应用程序作为Win服务运行。监视器应用程序(名为prunmgr.exe),用于监视和配置procrun服务。

下载路径:http://www.apache.org/dist/commons/daemon/binaries/windows/

3、在服务器上构建目录,包括三个子目录 jar、logs 、services。

其中程序打包出的jar放在jar目录中,logs用来存放日志,services目录存放安装服务需要的程序和脚本。service目录内容如下,其中两个exe程序就来自Procrun。需要我们手工编写两个脚本。

install.bat脚本

该脚本为安装服务脚本,内容如下:

@echo off
 
rem 设置程序名称
set SERVICE_EN_NAME=OauthProxyService
set SERVICE_CH_NAME=OauthProxyService
 
rem 设置java路径
set JAVA_HOME=%JAVA_HOME%
 
rem 设置程序依赖及程序入口类
cd..
set BASEDIR=%CD%
set CLASSPATH=%BASEDIR%\jar\demo-0.0.1-SNAPSHOT.jar
set MAIN_CLASS=org.springframework.boot.loader.JarLauncher
 
rem 设置prunsrv路径
set SRV=%BASEDIR%\Service\prunsrv.exe
 
rem 设置日志路径及日志文件前缀
set LOGPATH=%BASEDIR%\Logs
 
rem 输出信息
echo SERVICE_NAME: %SERVICE_EN_NAME%
echo JAVA_HOME: %JAVA_HOME%
echo MAIN_CLASS: %MAIN_CLASS%
echo prunsrv path: %SRV%
 
rem 设置jvm
if "%JVM%" == "" goto findJvm
if exist "%JVM%" goto foundJvm
:findJvm
set "JVM=%JAVA_HOME%\jre\bin\server\jvm.dll"
if exist "%JVM%" goto foundJvm
echo can not find jvm.dll automatically,
echo please use COMMAND to localation it
echo then install service
goto end
:foundJvm
echo installing...
rem 安装
"%SRV%" //IS//%SERVICE_EN_NAME% --DisplayName="%SERVICE_CH_NAME%" "--Classpath=%CLASSPATH%" "--Install=%SRV%" "--JavaHome=%JAVA_HOME%" "--Jvm=%JVM%" --JvmMs=256 --JvmMx=1024 --Startup=auto --JvmOptions=-Djcifs.smb.client.dfs.disabled=false ++JvmOptions=-Djcifs.resolveOrder=DNS --StartMode=jvm --StartClass=%MAIN_CLASS% --StartMethod=main --StopMode=jvm --StopClass=%MAIN_CLASS% --StopMethod=main --StopParams=  --LogPath=%LOGPATH% --StdOutput=auto --StdError=auto
echo install service finish.
pause
 

uninstall.bat脚本

该脚本为卸服务脚本,内容如下:

@echo off 
cd..
set basedir=%CD%
set SERVICE_NAME=OauthProxyService
set SRV=%BASEDIR%\Service\prunsrv.exe
echo uninstall......
"%SRV%" //DS//%SERVICE_NAME%
echo uninstall finish.
pause 

运行

双击install.bat就可以进行安装。安装完成后,在windows上的服务面板即可看到,就能进行启动和停止操作。

点击这里复制本文地址 以上内容由莫古技术网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

莫古技术网 © All Rights Reserved.  滇ICP备2024046894号-2