windows下bat脚本启动springboot项目jar包

一、SpringBoot打jar包

idea打开项目,如果项目是 gradle 仓库,使用如下方式,进行打包:双击bootJar

1.双击clean,清空之前的打包记录
在这里插入图片描述
2.双击 bootJar,进行打包,打包文件 在项目根目录build下的libs下
在这里插入图片描述

idea打开项目,如果项目是 maven仓库,使用如下方式,进行打包:
项目右键—》Run Maven—>clean—>install
在这里插入图片描述

二、jar包部署运行

2.1 jar包运行的方式:

最简单的方式。在jar包所在目录位置,打开cmd窗口,输入
java -jar xxx.jar
即可运行项目,例:
在这里插入图片描述
但是命令行一旦关闭,项目会停止运行

为保证项目不停止运行,可以写一个bat批处理脚本。使该项目在后台运行

2.2 bat批处理脚本(单次)

使用文本文档输入如下内容:

@echo off
java -jar xxx.jar
exit

保存为 start.bat文件
在这里插入图片描述
双击生成的bat脚本:
在这里插入图片描述
在这里插入图片描述
启动成功。

注意: 该脚本会执行项目,但是不会关闭窗口,一旦关闭窗口,项目会关闭。

2.3 bat批处理脚本(后台运行,没有命令弹窗)

要想在后台执行该jar,需要以下脚本:

@echo off
start javaw -jar D:\work-zakj\hwariot-mix-service\build\libs\xx.jar
exit

其中,jar包位置需要绝对路径,不然有可能会报错:“Unable to access jarfile”

将脚本更名为start.bat。执行即可后台启动该项目。
在这里插入图片描述
在这里插入图片描述
双击即可。想看是否启动成功,可以访问项目中的接口是否可以正常访问来判断。

2.3 关闭项目

关闭项目:根据启动项目的端口号,查看端口进程,杀死进程

在这里插入图片描述
1.cmd窗口查看被占用的端口号:
netstat -ano | findstr 8888
2.查看PID对应的进程
tasklist | findstr “pid”
3.杀死占用的端口号:
taskkill /pid 27008 /f

延申:bat批处理文件的多样化

编写脚本:单次启动:

@echo off
set port=8888
for /f "usebackq tokens=1-5" %%a in (`netstat -ano ^| findstr %port%`) do (
	if [%%d] EQU [LISTENING] (
		set pid=%%e
	)
)
if "%pid%" == "" goto start
if not "%pid%" == "" goto run

:run
echo %port% (采集程序运行中)port is opening...
pause
exit

:start
echo (开始启动采集程序)starting collect program...
java -jar D:\work-zakj\hwariot-mix-service\build\libs\hwariot-mix-service-0.0.1-SNAPSHOT.jar
echo.Starting Success!
exit

在这里插入图片描述

编写vbs文件,启动(没有命令弹窗,后台运行)

set ws=WScript.CreateObject("WScript.Shell") 
ws.Run "F:\tianjin\tianjin\tj_collect_data.bat /start",0

在这里插入图片描述
关闭项目:

@echo off
SET port=8888
for /f "usebackq tokens=1-5" %%a in (`netstat -ano ^| findstr %port%`) do (
	if [%%d] EQU [LISTENING] (
		set pid=%%e
	)
)
echo close : %port%  %pid%
if not "%pid%" == "" taskkill /f /pid %pid%
 
echo start
PING 127.1 -n 5 >nul
java -jar D:\work-zakj\hwariot-mix-service\build\libs\hwariot-mix-service-0.0.1-SNAPSHOT.jar
 
exit

在这里插入图片描述

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐