当前位置: 首页 > news >正文

Springboot学习之–将springboot注册为windows系统服务(转)

Springboot学习之–将springboot注册为windows系统服务

https://blog.csdn.net/u012489412/article/details/81034375

 


Springboot学习之–将springboot注册为windows系统服务
一、编写bat文件启动jar
二、windows启动菜单添加快捷方式启动
三、使用winsw将springboot打包的jar注册系统本地服务
最近做了一个项目,部署到客户的服务器上,运行状况也良好。就是客户的服务器经常会重启。然后客户也不是it人员,重启后重新启动服务,就得使用命令:
jar -jar xxxx.jar
这对于不懂技术的人来说是个很复杂的事,于是决定打算修改修改,就有了下文。

一、编写bat文件启动jar
1、新建一个名为fmstart.bat,打开编辑,写入以下内容

cd E:/springboot
java -jar fmstart-0.0.1-dev.jar
exit
1
2
3
2、然后保存。ok,下次启动时,可以直接点击fmstart.bat启动了。至此愉快的玩耍了几天。

你以为这样就完了,过了几天,客户觉得点击bat启动也太麻烦了,我想一开机就启动。于是又得改。

二、windows启动菜单添加快捷方式启动
1、win+R打开运行窗口,输入shell:startup;
2、将fmstart.bat,新建一个快捷方式,然后将快捷方式拷贝到启动项文件中。

重启电脑,看到了熟悉的界面,启动成功。

又过了几天,客户看到我们的cmd界面也不爽了,说能否不让它出现,我容易误把它关掉。
于是又得改改改。。。。。

三、使用winsw将springboot打包的jar注册系统本地服务
【注】:本人只在Windows Server和win7测试,可以成功;win10会报错。等待作者更新新版本。

1、先从github上下载winsw,下载地址https://github.com/kohsuke/winsw
我下载的是2.1.2版本,小伙伴们可下载最新的版本。

2、下载WinSW.NET4.exe,这个是支持.netframework4.0的版本,如果没有.net4.0,请先安装.net4.0,下载后改名成你想启动的服务名字。比如:fmstart.exe

3、新建一个fmstart.xml文件,编写配置内容

<service>
<id>fmstart</id>
<name>fmstart</name>
<description>This is fmstart service.</description>
<!-- java环境变量 -->
<env name="JAVA_HOME" value="%JAVA_HOME%"/>
<executable>java</executable>
<arguments>-jar "E:\springboot\fmstart-0.0.1-dev.jar"</arguments>
<!-- 开机启动 -->
<startmode>Automatic</startmode>
<!-- 日志配置 -->
<logpath>%BASE%\log</logpath>
<logmode>rotate</logmode>
</service>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
4、保存fmstart.xml文件,将fmstart.xml和fmstart.exe放到要启动的jar的同级目录下。
例如:E:\springboot\

5、打开cmd,进入到E:\springboot;输入fmstart.exe install安装服务。
安装后,输入fmstart.exe start启动服务;

相关命令如下:
除了install命令外,还有其它命令:
uninstall:删除服务
start:启动服务
stop:停止服务
restart:重启服务
status:输出当前服务的状态

6、安装成功后,win+R打开运行,输入services.msc,查看是否有一个叫fmstart的服务。运行状态是否为正在运行。

如果安装成功后,服务状态为正在运行,即可测试你的接口来了。
到此结束了,客户每次启动服务器就会自己运行该服务,也不会有cmd小窗了。
---------------------
作者:mirfang
来源:CSDN
原文:https://blog.csdn.net/u012489412/article/details/81034375
版权声明:本文为博主原创文章,转载请附上博文链接!

转载于:https://www.cnblogs.com/yasepix/p/10367254.html

相关文章:

  • django xadmin 安装和使用
  • Linux-Vim基本操作
  • unity手动创建网格
  • hibernate一级缓存session的操作
  • baked lighting
  • 201902142017_《Node.js之事件一二事(1)》
  • machine_math
  • baked light+bake indirect+sampling lightmap
  • linux基础随记
  • 随手练——十六进制转八进制 (不限制长度)
  • 认识DiffuseAndSpecularFromMetallic和UNITY_BRDF_PBS
  • 如何将自发光和漫反射添加到烘焙贴图中
  • Qt+QGIS二次开发:QGIS中使用QgsRubberBand类创建临时图形
  • Shadowmask和Distance Shadowmask的区别
  • Angular7_获取异步方法里面的数据
  • CSS实用技巧干货
  • Druid 在有赞的实践
  • JavaSE小实践1:Java爬取斗图网站的所有表情包
  • Java编程基础24——递归练习
  • linux学习笔记
  • Lucene解析 - 基本概念
  • Meteor的表单提交:Form
  • nginx 负载服务器优化
  • Octave 入门
  • Spring声明式事务管理之一:五大属性分析
  • 前端攻城师
  • 算法之不定期更新(一)(2018-04-12)
  • 如何用纯 CSS 创作一个货车 loader
  • #Linux(帮助手册)
  • #我与Java虚拟机的故事#连载14:挑战高薪面试必看
  • (09)Hive——CTE 公共表达式
  • (4)通过调用hadoop的java api实现本地文件上传到hadoop文件系统上
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (牛客腾讯思维编程题)编码编码分组打印下标(java 版本+ C版本)
  • (欧拉)openEuler系统添加网卡文件配置流程、(欧拉)openEuler系统手动配置ipv6地址流程、(欧拉)openEuler系统网络管理说明
  • (收藏)Git和Repo扫盲——如何取得Android源代码
  • (五)Python 垃圾回收机制
  • (转)AS3正则:元子符,元序列,标志,数量表达符
  • (转)C语言家族扩展收藏 (转)C语言家族扩展
  • (转)ORM
  • ./include/caffe/util/cudnn.hpp: In function ‘const char* cudnnGetErrorString(cudnnStatus_t)’: ./incl
  • .NET简谈互操作(五:基础知识之Dynamic平台调用)
  • /etc/fstab 只读无法修改的解决办法
  • ;号自动换行
  • @angular/cli项目构建--Dynamic.Form
  • []C/C++读取串口接收到的数据程序
  • [Android]Android开发入门之HelloWorld
  • [Android]How to use FFmpeg to decode Android f...
  • [BZOJ] 2044: 三维导弹拦截
  • [Hive] CTE 通用表达式 WITH关键字
  • [LeetCode]剑指 Offer 40. 最小的k个数
  • [LOJ 6213]「美团 CodeM 决赛」radar
  • [Markdown] 02 简单应用 第二弹
  • [p4] Uncheckout other user‘s file?
  • [PY3]——logging