windows 运行jar包 生成日志_jar包双击运行

2022-11-09 10:10:02 浏览数 (2)

大家好,又见面了,我是你们的朋友全栈君。

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

0 人点赞