springboot项目打成jar包做成Windows服务启动

需求:把springboot项目打成jar包放到windows服务中启动,做一个jar包部署到现场服务器,做一个bat批处理文件,一键启动,如果服务器重启还需要手动去启动bat文件,而且启动后小黑框一直在桌面上,如果不小心关啦,还需要重新启动。所以要把jar包做成windows服务,服务器重启后就会自动启动这个服务,小黑框也会小时,把服务放到后台运行。

一,下载JavaService.exe
JavaService是一款能把Java应用程序做成NT服务的实用工具,一般用于启动应用服务器。
JavaService下载地址:
http://download.forge.ow2.org/javaservice/
我使用的是64位的,根据需要选用32位或64位,上面的是32位(我是win10系统)
在这里插入图片描述
下载下来后是个压缩包,我们只用里面的javaservice.exe文件就可以
二,配置环境变量
1:基本的jdk环境变量就不说啦。(我用的是jdk8)
2:配置JAR_HOME,创建一个文件夹,例如:JAR_HOME/bin,作为jar包路径,把jar包放入bin目录下。(其实就是陪一下路径方便我们再bat文件中引用,也可以不配这个)在这里插入图片描述
3:把Javaservice.exe文件/JAR_HOME/bin目录下,和jar包一个路径下。
4:在bin目录下新建一个logs文件夹,用于存放日志。
在这里插入图片描述
三,命令
1:打开cmd命令窗口(管理员身份),进入bin的根目录,命令:cd %JAR_HOME%(jar包放到哪个盘下,先进入哪个盘下再执行)
在这里插入图片描述
执行JavaService服务命令

JavaService.exe -install remoteControl "%JAVA_HOME%/jre/bin/server/jvm.dll"
-Djava.class.path="%JAR_HOME%/bin/dowin-remoteControl.jar;%JAVA_HOME%/lib/tools.jar"
-Xms64MXmx256M
-start org.springframework.boot.loader.JarLauncher
-stop org.springframework.boot.loader.JarLauncher
-method systemExit
-out "%JAR_HOME%/logs/out.log"
-err "%JAR_HOME%/logs/err.log"
-current "%JAR_HOME%/bin"
-auto –overwrite

上面的命令执行时不要换行,每一条之间有个空格就行
在这里插入图片描述
第一句的remoteControl是服务名(自己起的名字)
-Xms64M –Xmx256M Java虚拟机支持的内存最小值和最大值
执行完后出现 “The remoteControl automatic service was successfully installed”的提示说明服务创建成功。
2:下面是开启,关闭,删除服务的命令

net start remoteControl  开启服务
net stop remoteControl   关闭服务
sc delete remoteControl  删除服务

3:下面是把这些创建服务,开启和关闭服务的命令写成bat批处理文件,操作更方便,但是要用管理员身份运行,把这些文件和jar包,JavaService.exe文件放到同一个目录下面。

config.ini

serviceName=remoteControl
jarName=dowin-remoteControl

serviceName 是要生成的服务名字
jarName 是jar包的名字

install.bat

@echo off
setlocal enabledelayedexpansion
cd /d %~dp0
for /f "delims=" %%i in ('type "config.ini"^| find /i "="') do set %%i
set path=%cd%
md "%path%/logs"
echo %serviceName%
echo %jarName%
echo %JAVA_HOME%
echo %path%
JavaService.exe -install %serviceName% "%JAVA_HOME%/jre/bin/server/jvm.dll" -Djava.class.path="%path%/%jarName%.jar;%JAVA_HOME%/lib/tools.jar" -Xms64M Xmx256M -start org.springframework.boot.loader.JarLauncher -stop org.springframework.boot.loader.JarLauncher -method systemExit -out "%JAR_HOME%/logs/out.log" -err "%JAR_HOME%/logs/err.log" -current "%path%" -auto -overwrite
pause

startup.bat

@echo off
setlocal enabledelayedexpansion
cd /d %~dp0
for /f "delims=" %%i in ('type "config.ini"^| find /i "="') do set %%i
net start %serviceName%
pause

shutdown.bat

@echo off
setlocal enabledelayedexpansion
cd /d %~dp0
for /f "delims=" %%i in ('type "config.ini"^| find /i "="') do set %%i
net stop %serviceName%
pause

另一种简单的方式

1、首先要有一个jar包
2、新建两个txt文件,将后缀分别改成bat和vbs文件
在这里插入图片描述
3、编写bat文件来启动jar包

@echo "启动jar包"
java -jar E:\bate\bate.jar
exit

4、编写vbs文件

createobject("wscript.shell").run"E:\bate\bate.bat"

如果需要隐藏窗口的话按照下面加上逗号0即可

createobject("wscript.shell").run"E:\bate\bate.bat",0

5、然后把vbs文件创建一个快捷方式移动到
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
放到该目录下在重启的时候就会自动启动jar包了

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值