admin 管理员组文章数量: 887021
Windows以服务方式运行Java程序
- Windows以服务方式运行Java程序
- 方式1:通过windows的startup自启动实现
- 方式2:通过winsw实现windows的服务注册与启动
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程序做成自启动服务为例。
- ##下载winsw,WinSW.NET2.exe或WinSW.NET4.exe,视你的版本而定
https://github/winsw/winsw/releases
https://github/winsw/winsw/releases/download/v2.11.0/WinSW.NET2.exe
https://github/winsw/winsw/releases/download/v2.11.0/WinSW.NET4.exe
- ##查看支持的版本,都没有就安装.NET Framework
通过在我的电脑上输入%systemroot%\Microsoft.Net\Framework,能判断出来
如以下的win7系统就认为支持WinSW.NET2.exe
以下的windows10就2个都支持,因此图通用性的话,就直接采用WinSW.NET2.exe吧
-
##将WinSW.NET2.exe或WinSW.NET4.exe复制到自定义的目录如:D:\D\winsw_java
-
##同目录下创建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里面的服务的名称,如下图:
- ##编写几个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
- ##双击springboot_java-install.bat进行服务的注册,成功后即可,
重启电脑后,java服务将随系统的启动一起启动
。
- ##如果希望取消注册此windows服务,双击springboot_java-uninstall.bat即可.
版权声明:本文标题:Windows以服务方式运行Java程序 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1726984400h1052630.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论