大家好,又见面了,我是你们的朋友全栈君。
1. 创建运行的cmd脚本
新建记事本 startup.txt
代码语言:javascript复制@echo off
@rem 需要运行的服务名字全称参数 例: ljd-stream-msvs.jar -> 名字全称:ljd-stream-msvs
set SERVICE_NAME=%1
@rem 运行的服务jar包目录路径
set SERVICE_JAR_DIR=D:MyWorksIdeaProgramFilesLjdProgramFilesIfmsWorksljd-ifms-cloudljd-stream-msvstarget
@rem 服务启动的日志输出目录文件路径
set LOGS_DIR=D:usrlocalprogramlogs%SERVICE%.startup.log
@rem 执行jar包的jdk路径 此方式可以适用没有配置java_home 变量的,或是需要指定版本的Jdk
set JAVA_RUN_DIR=D:MySoftsMyToolsjdk-11.0.2binjava
@rem 运行服务GC垃圾收集器参数 此参数可以配置也可以不配置
set GC_OPTS=-XX: UseG1GC
@rem 配置文件使用编码格式,一般在Windows下编码都是 ANSI 的格式 所以在运行项目的时候需要统一文件的格式防止乱码
set ENCODING=-Dfile.encoding=utf-8
@rem 设置了jvm 参数 此参数可根据自己的项目运行情况自行配置
set JVM_OPTS=-Xms512m -Xmx512m -Xss512K -XX:MetaspaceSize=128m
@rem 执行运行服务函数
call:runProgram %SERVICE_NAME%
@rem ##############################
@rem [自定义函数] 运行服务jar
@rem ##############################
:runProgram - run a jar
setlocal
set SERVICE=%1
@rem 开始运行服务jar
%JAVA_RUN_DIR% -server %JVM_OPTS% %GC_OPTS% -jar %ENCODING% %SERVICE_JAR_DIR%%SERVICE%.jar
endlocal&goto :EOF
exit 0
然后修改文件的扩展名为 .bat 或 .cmd 两者在windows都是可以运行的
2. 运行
命令格式:startup.bat ljd-stream-msvs
3. 后台运行隐藏命令框
a. 可以使用 javaw.exe 做
代码语言:javascript复制# ljd-stream-msvs.jar 是需要运行的jar,可以放绝对路径的jar 例如:D:usrjavaFilesljd-stream-msvs.jar
start javaw -jar ljd-stream-msvs.jar
b. 利用 vbs 脚本处理
新建文本文件 run.txt
代码语言:javascript复制' .startup.cmd ==> 运行项目的bat脚本路径 ljd-stream-msvs ===> 项目jar包的名称
CreateObject("Wscript.Shell").run ".startup.cmd ljd-stream-msvs",0
然后将文件扩展名修改为 .vbs 即可
4. 停止服务
新建文本文件 shutdown.txt
代码语言:javascript复制@echo off
@rem %1 是脚本的参数,即项目运行的名称, 可以使用 jps 查看java项目的进程ID和运行的名称
echo "开始停止 %1 的服务"
if "%1" neq "" (
for /f "tokens=1" %%i in ('jps -m ^| findstr /i %1') do (
echo "服务进程id: %%i "
taskkill /F /PID %%i
)
) else (
echo "请输入运行的服务的名称"
)
echo "完毕"
exit 0
然后修改文件的扩展名为 .bat 或 .cmd
运行 shutdown.cmd 脚本
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/185960.html原文链接:https://javaforall.cn