Windows以服务方式运行Java程序


Windows以服务方式运行Java程序

需求:客户有一个Java程序是运行在windows机器上,常会重启机器,希望能上面的Java程序随windows系统启动而自动启动。

方式1:通过windows的startup自启动实现

可以通过windows的startup自启动功能实现,缺点:会以前端cmd命令窗口的方式打开,不算是真正的后台服务

做法如下(win10为例):

写好自己的程序脚本bat文件,然后将程序或快捷方式复制到windows10的用户下的启动文件夹目录,如:

C:\Users\jxlhl\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

放置程序完成即可,就可以自动以cmd窗口的方式启动了.

缺点:开机之后会显示一个命令行窗口!而且这个窗口还不能关,一关程序就停

方式2:通过winsw实现windows的服务注册与启动

这是本文重点内容,主要通过winsw实现windows的服务与注册,不限于Java,本文仅以Java程序做成自启动服务为例。

  1. ##下载winsw,WinSW.NET2.exe或WinSW.NET4.exe,视你的.net版本而定
https://github.com/winsw/winsw/releases
https://github.com/winsw/winsw/releases/download/v2.11.0/WinSW.NET2.exe
https://github.com/winsw/winsw/releases/download/v2.11.0/WinSW.NET4.exe
  1. ##查看.net支持的版本,都没有就安装.NET Framework

通过在我的电脑上输入%systemroot%\Microsoft.Net\Framework,能判断出来

如以下的win7系统就认为支持WinSW.NET2.exe
在这里插入图片描述
以下的windows10就2个都支持,因此图通用性的话,就直接采用WinSW.NET2.exe吧
在这里插入图片描述

  1. ##将WinSW.NET2.exe或WinSW.NET4.exe复制到自定义的目录如:D:\D\winsw_java

  2. ##同目录下创建WinSW.NET2.xml。特别注意,xml和exe必须同名。

<service>
  <id>springboot_java</id>
  <name>springboot_java</name>
  <description>springboot_java</description>
  <env name="java_home" value="D:\liujinghua\develop\jdk\jdk1.8.0_161"/>
  <env name="classpath" value=".;%java_home%\lib\dt.jar;%java_home%\lib\tools.jar;"/>
  <env name="path" value="%java_home%\bin;"/>
  <executable>start.bat</executable>
  <log mode="reset"></log>
  <workingdirectory>D:\winsw_java</workingdirectory>
</service>

在这里插入图片描述
参数说明:

workingdirectory:工作目录
env:环境变量参数
id,name,description:这里取成了一样即可,唯一名称,就是windows里面的服务的名称,如下图:
在这里插入图片描述

  1. ##编写几个bat脚本,用于注册服务,注销服务,启动服务,停止服务如下:
    在这里插入图片描述
    springboot_java-install.bat内容
WinSW.NET2.exe install
pause

springboot_java-uninstall.bat内容

WinSW.NET2.exe uninstall
pause

springboot_java-start.bat内容

WinSW.NET2.exe start
pause

springboot_java-stop.bat内容

WinSW.NET2.exe stop
pause

start.bat内容

cd ProxySocks5Server
java ProxySocks5Server 1080
  1. ##双击springboot_java-install.bat进行服务的注册,成功后即可,重启电脑后,java服务将随系统的启动一起启动
    在这里插入图片描述
  2. ##如果希望取消注册此windows服务,双击springboot_java-uninstall.bat即可.
    在这里插入图片描述
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值