Windows 下后台启动 jar 包,UTF-8 启动 jar 包
目录
- 1. Windows 下启动 jar 包
- 2. 设置 cmd 编码(注册表)
- 3. UTF-8 编码启动 jar 包
- 4. 设置 cmd 编码(脚本),utf-8 启动 jar 包
- 5. Windows 下关闭后台启动的服务
- 6. Windows 设置 jar 包开机自启动
- 7. Windows下杀死某一端口进程的脚本
1. Windows 下启动 jar 包
小贴士:打包的时候把 application.yml 所有内容都注释掉,然后打包,再把 application.yml 与打好的 jar 包放在同级目录下,如图所示。jar 包在启动的时候就会去读取此 application.yml 。
-
前台启动 jar 包:
使用 java.exe 启动 jar 包,一旦把窗口关闭,就会结束进程
java -jar swagger.jar
-
后台启动 jar 包:
使用 javaw.exe 启动 jar 包,并不会在窗口打印日志,而且会直接在后台运行进程,关掉窗口,进程继续跑
javaw -jar swagger.jar
关闭进程: 后台启动的 jar 包,直接在 jar 包所在目录打开 cmd ,输入 taskkill -f -t -im javaw.exe 就能关闭此 jar 进程
-
后台启动 jar 包脚本(start.bat):
当然,用脚本后台启动更方便,自定义名.bat
@echo off start javaw -jar swagger.jar exit
-
后台关闭 jar 包脚本(stop.bat):
自定义名.bat
@echo off taskkill -f -t -im javaw.exe exit
注意: 脚本要与 jar 包放在同级目录下,关闭脚本会关闭所有后台启动的 jar 包。
2. 设置 cmd 编码(注册表)
Windows 默认编码 GBK(936)
临时改变此 cmd 的编码为 UTF-8(重新打开会恢复为 GBK):
chcp 65001
永久改变 cmd 为 UTF-8 编码:
-
打开注册表
- 方式一:win + r :regedit
- 方式二:
-
到达 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor 目录下
-
右键——新建——字符串值
重命名:autorun
-
双击修改数值数据
-
新打开 cmd,都是 65001 —— UTF-8 编码
3. UTF-8 编码启动 jar 包
前台启动:
java -jar -Dfile.encoding=UTF-8 swagger.jar
后台启动:
javaw -jar -Dfile.encoding=UTF-8 swagger.jar
后台启动 jar 包脚本(start.bat):
@echo off start javaw -jar -Dfile.encoding=UTF-8 swagger.jar exit
后台关闭 jar 包脚本(stop.bat):
@echo off taskkill -f -t -im javaw.exe exit
注意: 脚本要与 jar 包放在同级目录下,关闭脚本会关闭所有后台启动的 jar 包。
4. 设置 cmd 编码(脚本),utf-8 启动 jar 包
@echo off chcp 65001 start javaw -jar -Dfile.encoding=UTF-8 swagger.jar exit
5. Windows 下关闭后台启动的服务
# 先根据端口号找到进程的 pid netstat -ano |findstr 端口号 # 然后用 taskkill 关闭该进程 taskkill /f /t /im pid
6. Windows 设置 jar 包开机自启动
给上面写的启动脚本文件创建一个快捷方式,然后将快捷方式放到这个目录就行了:
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup
7. Windows下杀死某一端口进程的脚本
@echo off chcp 65001 setlocal enabledelayedexpansion set /p port=请输入端口号: for /f "tokens=1-5" %%a in ('netstat -ano ^| find ":%port%"') do ( if "%%e%" == "" ( set pid=%%d ) else ( set pid=%%e ) echo !pid! taskkill /f /pid !pid! ) pause
chcp 65001 先将cmd编码设置为utf8,防止中文字符乱码(cmd默认编码是GBK),实际使用情况如下:
-
-