java 包部署 2021-01-13

1. Jar 包启动

(窗口启动: jar -jar: 命令行启动,窗口停留)
下面介绍后台启动方式

1.1 Linux

  1. java -jar xxx.jar &
  • 说明: 在末尾加入 & 符号
  1. jar -jar, ctrl+z
    (1)执行java -jar xxx.jar后
    (2)ctrl+z 退出到控制台,执行 bg
    (3)exit
    完成以上3步,退出SHELL后,jar服务一直在后台运行。
  2. nohup java -jar xxxx.jar & (推荐)
    (1) 输出日志:nohup java -jar babyshark-0.0.1-SNAPSHOT.jar > log.file 2>&1 &
上面的2 和 1 的意思如下:
      0    标准输入(一般是键盘)
      1    标准输出(一般是显示屏,是用户终端控制台)
      2    标准错误(错误信息输出)
  1. kill process
1. netstat -anp查看PID(process id)
2. kill -9 pid
关于netstat 命令: 
-a (all)显示所有选项,netstat默认不显示LISTEN相关
-t (tcp)仅显示tcp相关选项
-u (udp)仅显示udp相关选项
-n 拒绝显示别名,能显示数字的全部转化成数字。(重要)
-l 仅列出有在 Listen (监听) 的服務状态

-p 显示建立相关链接的程序名(macOS中表示协议 -p protocol)
-r 显示路由信息,路由表
-e 显示扩展信息,例如uid等
-s 按各个协议进行统计 (重要)
-c 每隔一个固定时间,执行该netstat命令。

过滤:
Linux:netstat -anp| grep 3306

1.2 Window

  1. 新建 .bat文件
@echo off
start javaw -jar xxx.jar
exit
  • 参数设定
@echo off
start javaw -jar -Dspring.config.location=C:\TestPlatform8083\application.properties C:\TestPlatform8083\TestPlatform-===.jar
exit
  • 偶尔还需要指定编码格式,-Dfile.encoding=utf-8
    如果想要指定Log日志
@echo off
start java -jar -Xms8000m -Xmx8000m -Xmn4000m test.jar > log\batchLog%date:~0,4%%date:~5,2%%date:~8,2%.log
exit
  • @echo off 当执行失败的时候,不打印失败的信息
    如果是调试阶段,可以将这一段注掉
  • @pause 是会弹出命令行窗口,提示“请按任意键继续...”,不需要暂停的脚本,就把这一行注释掉
  • 需要指定java 启动内存的大小
    java -jar -Xms8000m -Xmx8000m -Xmn4000m test.jar
  1. 杀进程
  • 查询过滤:
    window: netstat -ano|findstr "3306"
  • 如要杀nginx.exe进程,命令如下:
    taskkill /im nginx.exe /f
    NOTE: /f在这里意为强制结束进程
  • 也可以使用pid杀:
    taskkill /pid {pid}

2. War 包启动

Reference

  1. 流风雨情. (2020). java jar后台启动的三种方式
  2. 刘信坚的博客. (2018). Java -jar 如何在后台运行项目

你可能感兴趣的:(java 包部署 2021-01-13)