windows后台运行java

遇到一客户,jar包需要运行在windows上,于是抽点时间研究了一下。平时在windows开发java项目过程中,如果需要运行jar包, cmd 中一条命令:java -jar test.jar 就搞定。但这有个问题,cmd窗口关闭,java服务就关闭。一般通过nssm 将jar 定义成windows服务的形式。nssm获取
注: 下载后解压得到nssm.exe, 建议配置到环境变量里面去

其中记住里面常用的四个命令基本就够用

  1. nssm install [servicename] 将jar安装成服务
  2. nssm start [servicename]启动服务,安装成功后可以右键服务启动
  3. nssm stop [servicename]停止服务,安装成功后可以右键服务停上
  4. nssm remove [servicename]删除服务

例如,本地C:\Work\jar 中wms.jar 以服务的形式启动。

一、通过命令的形式

  1. nssm install wmsbackend java -jar C:\Work\jar\wms.jar,安装成功后可在服务列表中查看此服务,如下图所示:
    在这里插入图片描述
    在这里插入图片描述
  2. nssm start wmsbackend

在这里插入图片描述
相应的,在服务列表里可以查看本服务已启动
3. nssm stop wmsbackend
4. nssm remove wmsbackend

二、通过脚本的形式

这种形式可以解决无法生成log问题。注: 所有的脚本都以管理员身份打开才可以。

  1. 将jar启动命令封装bat脚本中,脚本的名字即为服务的名字,例如wmsbackend.bat 。注: jar包路径要指定好,建议和bat放在同一个路径下。
  2. 将nssm install wmsbackend 封装在 install.bat 中,双击此脚本进行服务注册。如下图:

在这里插入图片描述
3. 将nssm stop wmsbackend 封装在 stop.bat 中,双击此脚本停止服务
4. 将nssm remove wmsbackend 封装在 remove.bat 中,双击此脚本删除服务
至此,以脚本的形式启动服务就结束了,如果项目中配置了日志生成机制,可以在与jar同一个目录下发现log。接下来介绍一下window实时查看log的方法。 在linux中以tail -f 的形式实时查看日志。在windows中方法也有好几种,但比较安全的方式是用notepad++ 中日志监控的方式,如下图所示:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/hongyinanhai00/article/details/108801916