当前位置:   article > 正文

Windows 下后台启动 jar 包,UTF-8 启动 jar 包_windows启动jar

windows启动jar

1. Windows 下启动 jar 包

小贴士:打包的时候把 application.yml 所有内容都注释掉,然后打包,再把 application.yml 与打好的 jar 包放在同级目录下,如图所示。jar 包在启动的时候就会去读取此 application.yml 。
  

  • 前台启动 jar 包:
    使用 java.exe 启动 jar 包,一旦把窗口关闭,就会结束进程

    java -jar swagger.jar
    
    • 1
  • 后台启动 jar 包:
    使用 javaw.exe 启动 jar 包,并不会在窗口打印日志,而且会直接在后台运行进程,关掉窗口,进程继续跑

    javaw -jar swagger.jar
    
    • 1

    关闭进程: 后台启动的 jar 包,直接在 jar 包所在目录打开 cmd ,输入 taskkill -f -t -im javaw.exe 就能关闭此 jar 进程

  • 后台启动 jar 包脚本(start.bat):
    当然,用脚本后台启动更方便,自定义名.bat

    @echo off
    start javaw -jar swagger.jar 
    exit
    
    • 1
    • 2
    • 3
  • 后台关闭 jar 包脚本(stop.bat):
    自定义名.bat

    @echo off
    taskkill -f -t -im javaw.exe
    exit
    
    • 1
    • 2
    • 3

注意: 脚本要与 jar 包放在同级目录下,关闭脚本会关闭所有后台启动的 jar 包。

2. 设置 cmd 编码(注册表)

Windows 默认编码 GBK(936)

临时改变此 cmd 的编码为 UTF-8(重新打开会恢复为 GBK):

chcp 65001
  • 1

永久改变 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 
  • 1

后台启动:

javaw -jar -Dfile.encoding=UTF-8 swagger.jar 
  • 1

后台启动 jar 包脚本(start.bat):

@echo off
start javaw -jar -Dfile.encoding=UTF-8 swagger.jar 
exit
  • 1
  • 2
  • 3

后台关闭 jar 包脚本(stop.bat):

@echo off
taskkill -f -t -im javaw.exe
exit
  • 1
  • 2
  • 3

注意: 脚本要与 jar 包放在同级目录下,关闭脚本会关闭所有后台启动的 jar 包。

4. 设置 cmd 编码(脚本),utf-8 启动 jar 包

@echo off
chcp 65001
start javaw -jar -Dfile.encoding=UTF-8 swagger.jar 
exit
  • 1
  • 2
  • 3
  • 4

5. Windows 下关闭后台启动的服务

# 先根据端口号找到进程的 pid
netstat -ano |findstr 端口号
# 然后用 taskkill 关闭该进程
taskkill /f /t /im pid
  • 1
  • 2
  • 3
  • 4

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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
chcp 65001 先将cmd编码设置为utf8,防止中文字符乱码(cmd默认编码是GBK),实际使用情况如下:
  • 1
  1. 在9084端口跑一个服务

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

  3. 再次查看端口占用

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/199319
推荐阅读
相关标签
  

闽ICP备14008679号