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程序做成自启动服务为例。

  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即可.

Windows以服务方式运行Java程序相关推荐

  1. 在Ubuntu上以服务方式运行Java程序

    女主宣言 最近小编在项目中遇到了一个问题,打包的jar文件需要作为服务来使用,但是如何才能保证让jar文件开机自启动呢.小编使用的是Ubuntu的系统,所以查阅了相关资料之后,整理了此篇文章,供大家参 ...

  2. docker使用dockerfile方式运行java程序

    docker使用dockerfile方式运行java程序 1,下载基础java环境镜像java:8 2,创建文件夹并进入: mkdir dockerfile cd dockerfile 3,打包好的j ...

  3. javac的java扩展名_通过命令行方式运行Java程序时,使用的命令是javac,而且要求必须写出该文件的完整文件名,包括扩展名.java。 ( )...

    通过大戟科植物都有乳汁. 在启动Excel之初,命令名该应用程序自动为用户建立一个工作簿,名为 ( ). 默认状态下,行方行J序时须写在启动Excel之初,应用程序为用户建立的 book1 中,包含 ...

  4. 以Windows服务方式运行.NET Core程序

    原文:以Windows服务方式运行.NET Core程序 在之前一篇博客<以Windows服务方式运行ASP.NET Core程序>中我讲述了如何把ASP.NET Core程序作为Wind ...

  5. windows批处理运行java程序

    明确需求 今天你编了一个java swing版照片查看器,想让计算机上的所有照片默认打开方式都改成你的照片查看器. 使用工具软件 很多工具软件都是不把jre打包到exe中的,这就是说打包之后的exe只 ...

  6. 在cmd中使用命令来编译并运行java程序,导入其他jar包,使用windows批处理文件

    一.使用cmd编译并运行java程序 今天帮朋友做一件事,他是一个不懂技术的人,说需要一个工具来做数据筛选,没有什么学识的我只想到了使用java程序来实现,于是上去就是一通abcd,玩笑归玩笑,做完了 ...

  7. Windows命令行运行Java程序

    如何在Windows命令行运行Java程序 准备工作 1.安装JDK 安装JDK(Java Development Kit Java开发工具包 又称SDK)Oracle公司JDK下载地址,直接下载,然 ...

  8. 编译运行一个java程序_如何从另一个Java程序编译和运行Java程序

    编译运行一个java程序 Have you ever thought if it's possible to compile and run a java program from another j ...

  9. JJY本地服务器以服务方式运行不能读取消息文件

    1.问题描述 JJY主服务器采用Windows服务方式运行时,在读tb_0031消息对应的外部文件时失败.而在控制台方式下正常. 读文件失败的结果是单据没有发送,且错误类型是文件路径不存在(ERROR ...

最新文章

  1. MATLAB修改工作环境
  2. Msfvenonm生成后门
  3. Python编程基础10:列表
  4. c/s架构nginx+php-fpm通信原理
  5. 执行的输出结果保存到文件夹_元素实测点自动保存
  6. 红帽linux桌面版镜像下载,红帽 Red Hat Linux相关产品iso镜像下载【迅雷快传】【更新5.11 6.6】...
  7. Dapper使用在WCF上总是说Service找不到
  8. 小米扫地机器人换了边刷很响_科沃斯除菌地宝N8 PRO VS 小米扫拖一体机,谁更强?...
  9. 中年失业是一种什么体验
  10. c语言传送send 函数解析,C语言sendto()函数:经socket传送数据
  11. php imagick 教程,php imagick蒙版做法
  12. OpenJudge NOI 1.13 42:出书最多
  13. max_prepared_transactions设置
  14. HBuilder js,css压缩,增强代码的安全性
  15. 【PTA】读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。c。
  16. 利用Python3实现:非常“实用”的身高计算器(源代码)
  17. 网上打印纳税申报表等预览有网格打印不显示
  18. php 根据日期获取星座,js 根据日期获取星座名称
  19. ft232rl可以了
  20. 怎么用xcode写html5,xcode怎么写c

热门文章

  1. c# MessageBox.Show()
  2. 夏季即将到来,关于夏季的中医养生知识
  3. UTONMOS:如何看待初期的元宇宙?
  4. VMware上安装centOS,能ping通本地,但是ping不了外网怎么办
  5. windows 7 RDP 增强
  6. MSP430平台下实现Si4432的收发数据
  7. 音视频播放器关键技术探讨
  8. 桃源网络硬盘.Net sql注入漏洞
  9. @Configurable
  10. Dalsa智能相机使用流程