admin管理员组

文章数量:1550528

目录

  • 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),实际使用情况如下:
  1. 在9084端口跑一个服务

  2. 双击脚本,弹出cmd,并输入端口号杀死进程,任意键退出

  3. 再次查看端口占用

本文标签: 后台WindowsUTFjar