文章目录

      • 1、cmd命令启动
      • 2、bat脚本启动
        • 2.1 启动jar包
        • 2.2 关闭服务
      • 3、使用WinSW
        • 3.1 重命名
        • 3.2 xml配置
        • 3.3 安装服务
        • 3.4 卸载服务
        • 3.5 启动和停止服务

1、cmd命令启动

这种方式比较简单,但是窗口关闭后服务也就被杀死了,命令如下

java -jar xxx.jar

2、bat脚本启动

2.1 启动jar包

新建一个bat脚本,内容如下:

@echo off%1 mshta vbscript:CreateObject("WScript.Shell").Run("%~s0 ::",0,FALSE)(window.close)&&exitjava -jar F:\IdeaProjects\im-api\target\im-api-0.0.1-SNAPSHOT.jar > imApiLog.log2>&1 &exit

其中F:\IdeaProjects\im-api\target\im-api-0.0.1-SNAPSHOT.jar是我jar包的绝对路径,imApiLog.log将日志存储到该文件。右键该bat文件以管理员方式运行即可。

注:听大佬超的,bat文件路径不要有空格,jar包路径别有中文,否则会出现Error: Unable to access jarfile。

2.2 关闭服务

根据项目的端口号,查看端口进程,然后杀死进程即可

netstat -ano|findstr 8088 # 根据端口号查进程taskkill /f /pid 13968 # 根据进程id杀进程(/f:强制结束该进程以及所有子进程)

以上两种方式都有点不太利于后期维护,请接着往下看。

3、使用WinSW

地址:https://github.com/winsw/winsw/releases,我这里选择v2.12.0版本。下载WinSW-x64.exe(根据自己的系统版本选择)和sample-minimal.xml,如下

sample-minimal.xml 是一个最小配置的示例,sample-allOptions.xml 是一个全部可配置参数的示例。

3.1 重命名

为了方便,首先将exe和xml文件放到和jar包一个目录,并根据自己需要进行重命名,如下

3.2 xml配置

<service> <id>imApiId</id>  <name>imApiService</name>  <description>this is im api,author:chaodev</description> <executable>java</executable><arguments>-jar imApi.jar</arguments>  <startmode>Automatic</startmode>  <logpath>%BASE%\logs</logpath> <logmode>rotate</logmode> </service>

参数说明如下:

  • id:安装windows服务后的服务ID,必须是唯一的。
  • name:服务名称,也必须是唯一的。
  • executable:执行的命令,如启动命令java。
  • arguments:命令执行参数,如指定虚拟机参数,配置文件路径等。
  • startmode:启动模式,如开机启动Automatic。
  • logpath:日志路径,%BASE%代表相对路径,也就是当前目录。

3.3 安装服务

切换到exe所在目录,执行如下命令

imApiService.exe install #根据自己exe文件名称修改

安装后即可在系统服务里找到该服务,如下

3.4 卸载服务

利用uninstall命令即可,如下

imApiService.exe uninstall

3.5 启动和停止服务

除了直接在系统服务界面手动点击控制启动停止外,还可使用如下命令

xxx.exe start #启动服务xxx.exe stop #停止服务xxx.exe restart #重启服务xxx.exe status #查看状态

如下


更多技术干货,请持续关注程序员大佬超。
原创不易,转载请注明出处。