栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Windows系统使用Procrun部署SpringBoot的JAR包

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Windows系统使用Procrun部署SpringBoot的JAR包

目录

Procrun 的安装与卸载

一. 下载 Procrun二. 启动服务目录设置三. 目录配置四. 确定 JAR 包 Main-Class 值五. 编写安装服务的脚本五. 编写卸载服务的脚本 部署Windows服务

一. 安装服务二. 启动服务三. 卸载服务

Procrun 的安装与卸载

Procrun 是一组应用程序,允许 Windows 用户将(大部分)Java 应用程序(例如 Tomcat)包装为 Windows 服务。
该服务可以设置为在机器启动时自动启动,并且在没有用户登录机器的情况下继续运行。(官网地址)
它主要包括两个程序:

服务应用程序(名为 prunsrv.exe),用于转换任一应用程序作为 Windows 服务运行。监视器应用程序(名为 prunmgr.exe),用于监视和配置 procrun 服务。 一. 下载 Procrun

下载地址:http://www.apache.org/dist/commons/daemon/binaries/windows/

下载完成后解压,如下图:

二. 启动服务目录设置

首先在准备部署项目的文件夹下创建一个目录,比如我这里叫做 SpringForWinServiceDemo_Procrun,然后在其下创建三个文件夹,分别是 JAR、Logs 和 Service,如下图:

JAR 文件夹,用来放 SpringBoot 打出来的 JAR 包;Logs 文件夹用来保存 Windows Service 的运行日志,目前是空的;Service 文件夹用来存放 Procrun 的 exe 文件。 三. 目录配置

    将解压的 commons-daemon-1.2.0-bin-windowsamd64 文件夹下的 prunsrv.exe,拷贝到 Service 文件夹中;将 commons-daemon-1.2.0-bin-windows 文件夹下的 prunmgr.exe,拷贝到 Service 文件夹中,并重命名,我这里命名为 SpringForWinServiceDemo.exe。
四. 确定 JAR 包 Main-Class 值
    使用压缩软件打开 JAR 文件夹下的 jar 包,进入这个meta-INF文件夹;
    使用记事本打开 MANIFEST.MF 文件;
    记住 Main-Class 的值。
五. 编写安装服务的脚本

在 Service 文件夹下创建一个文档文本,打开编辑:

@echo off
 
rem 设置程序名称
set SERVICE_EN_NAME=SpringForWinServiceDemo
set SERVICE_CH_NAME=Spring演示服务
 
rem 设置java路径
set JAVA_HOME=%JAVA_HOME%
 
rem 设置程序依赖及程序入口类
cd..
set baseDIR=%CD%
set CLASSPATH=%baseDIR%JARspringforwinservice-0.0.1-SNAPSHOT.jar
set MAIN_CLASS=org.springframework.boot.loader.JarLauncher
 
rem 设置prunsrv路径
set SRV=%baseDIR%Serviceprunsrv.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%jrebinserverjvm.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 正在安装服务...
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 安装服务完成。
pause

将文档文本名称修改成 install.bat。
详细解释如图:

五. 编写卸载服务的脚本

在 Service 文件夹下创建一个文档文本,打开编辑:

@echo off
 
cd..
set basedir=%CD%
set SERVICE_NAME=SpringForWinServiceDemo
set SRV=%baseDIR%Serviceprunsrv.exe
echo 正在卸载服务...
"%SRV%" //DS//%SERVICE_NAME%
echo 服务卸载完毕。
pause

将文档文本名称修改成 uninstall.bat。

部署Windows服务 一. 安装服务

执行 install.bat,如下图:

提示“安装服务完成”后,使用 win + r 组合快捷键打开“运行”窗口,之后输入 services.msc 按下回车键,即可打开“服务”。

在“服务”中找到 install.bat 文件里 SERVICE_CH_NAME 中设置的名称,证明服务已经安装,如下图:

二. 启动服务

装好的服务还没有启动,我们需要手动将其启动,回到 Service 文件夹,双击打开 SpringForWinServiceDemo.exe,然后点击“开始”,如下:

如果一切正常的话,服务就可以成功启动了,如下图:

再次回到“服务”列表页,刷新后,可以看到服务的状态为“正在运行”,如下图:

注意,如果服务起不来的话,一定要去检查 Procrun 的 log,在这里:

三. 卸载服务

如果想要卸载服务,运行 uninstall.bat 即可,如下图:

然后重启电脑即可看见对应的服务已经没有了

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/763192.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号