在5分钟内将Spring Boot作为Windows服务启动
分享优锐课学习笔记~来看一下如何使用Spring Boot创建Windows服务以及通过配置详细信息来快速启动并运行。
最近不得不将Spring Boot应用程序部署为Windows服务,感到惊讶的是使用winsw如此容易。
入门
Spring Boot文档的第59节是关于安装Spring Boot应用程序的,它指向GitHub页面。本示例使用该项目作为灵感。
项目
我将以Spring IO“服务Web内容”项目作为起点,因此请转到该网页并从GIT或ZIP文件中下载示例。
从命令行运行Spring Boot
然后,我们可以看到我们的应用程序正在运行:

Spring MVC示例
包装为Windows服务
- 从GitHub下载winsw –记住要根据运行的.NET版本选择正确的版本
- 创建Windows服务目录并将EXE复制到此位置。

Windows服务目录
- 我将gs-serving-web-content-0.1.0.jar重命名为gs-serving-web-content.jar
- 将Winsw EXE从WinSW.NET4.exe重命名为gs-serving-web-content.exe
- 创建一个具有以下内容的名为gs-serving-web-content.xml的XML文件–
<?xml version="1.0" encoding="UTF-8"?>
<service>
<id>gs-serving-web-content</id>
<name>gs-serving-web-content</name>
<description>gs-serving-web-content Windows Service</description>
<executable>java</executable>
<arguments>-jar "gs-serving-web-content.jar"</arguments>
<logmode>rotate</logmode>
</service>
- 然后我们可以通过
gs-serving-web-content.exe安装进行安装(你可能需要以管理员身份运行)

- 然后我们可以将其作为Windows服务运行:

Windows服务
- 要卸载,我们运行– gs-serving-web-content.exe卸载
备择方案
我将procrun视为Spring Boot的替代包装,但无法使其正常工作。 可能可以,但是需要更多时间。
结论
Winsw给我将Spring Boot应用程序作为Windows服务安装给我留下了深刻的印象。这非常简单,你可以通过XML配置传入外部application.properties文件。

在5分钟内将Spring Boot作为Windows服务启动的更多相关文章
- 一文读懂 Spring Boot、微服务架构和大数据治理三者之间的故事
微服务架构 微服务的诞生并非偶然,它是在互联网高速发展,技术日新月异的变化以及传统架构无法适应快速变化等多重因素的推动下诞生的产物.互联网时代的产品通常有两类特点:需求变化快和用户群体庞大,在这种情况 ...
- Spring Boot、微服务架构和大数据
一文读懂 Spring Boot.微服务架构和大数据治理三者之间的故事 https://www.cnblogs.com/ityouknow/p/9034377.html 微服务架构 微服务的诞生并非偶 ...
- Spring Boot Admin实现服务健康预警
Over View 上一篇文章主要介绍了Spring Boot Admin的概况以及我们如何在系统中引入和使用Spring Boot Admin,以此来帮助我们更加了解自己的系统,做到能快速发现.排查 ...
- 如何做自己的服务监控?spring boot 2.x服务监控揭秘
Actuator是spring boot项目中非常强大一个功能,有助于对应用程序进行监视和管理,通过 restful api请求来监管.审计.收集应用的运行情况,针对微服务而言它是必不可少的一个环节. ...
- Spring Boot 2 (七):Spring Boot 如何解决项目启动时初始化资源
Spring Boot 2 (七):Spring Boot 如何解决项目启动时初始化资源 在项目启动的时候需要做一些初始化的操作,比如初始化线程池,提前加载好加密证书等.今天就给大家介绍一个 Spri ...
- Intellij IDEA Spring Boot 项目Debug模式启动缓慢问题
问题 Intellij IDEA Spring Boot 项目Debug模式启动缓慢 环境 os: windows10 idea :2018.1 解决方法 去除所有断点就正常了,很诡异,原因未知.
- 【spring boot】【elasticsearch】spring boot整合elasticsearch,启动报错Caused by: java.lang.IllegalStateException: availableProcessors is already set to [8], rejecting [8
spring boot整合elasticsearch, 启动报错: Caused by: java.lang.IllegalStateException: availableProcessors ], ...
- 一文读懂spring boot 和微服务的关系
欢迎访问网易云社区,了解更多网易技术产品运营经验. Spring Boot 和微服务没关系, Java 微服务治理框架普遍用的是 Spring Cloud. Spring Boot 产生的背景,是开发 ...
- spring boot 在eclipse里启动正常,但打包后启动不起来
现象描述: spring boot 在eclipse里启动正常,但打包后启动不起来. 错误日志如下: D:\Project>java -jar MKKY_CMS.jar . ____ _ __ ...
随机推荐
- 浅析ORACLE中NVL/NVL2/DECODE/CASE WHEN的用法
使用NVL的时候只能对值进行是否为空的判断,基本语法是NVL( 值1, ,结果2).它的功能是如果值1为空,则此函数返回结果2,不为空的话直接输出值1(如果两个参数都为空,那么还是返回空): NVL2 ...
- ArcGIS API For Javascript:热力图不同级别下的优化方法
我们在地图缩放的不同级别下,热力图的显示效果会不同,由于点密度与模糊参数默认是固定的,因此需要对参数进行动态修改,以满足不同缩放级别下可以得到较好的显示效果. 思路是监听地图缩放级别,将地图缩放级别作 ...
- list,tuple,dict,set 思维导图整理
- jinjia2
ansible-playbook --become --become-method=su -K copy.yml - hosts: web remote_user: ansible tasks: - ...
- Fabric1.4源码解析:Peer节点启动过程
看一下Peer节点的启动过程,通常在Fabric网络中,Peer节点的启动方式有两种,通过Docker容器启动,或者是通过执行命令直接启动. 一般情况下,我们都是执行docker-compose -f ...
- JDK动态代理和CGLIB字节码增强
一.JDK动态代理 Java 在 java.lang.reflect 包中有自己的代理支持,该类(Proxy.java)用于动态生成代理类,只需传入目标接口.目标接口的类加载器以及 Invocatio ...
- Git之GitFlow工作流
一. GitFlow 介绍 1.1 什么是 GitFlow GitFlow 是一种 Git 工作流,它是团队成员遵守的一种代码管理方案 . 1.2 GitFlow 常用分支说明 分支名称 分支说明 P ...
- day20191113笔记
默写:程序=数据结构+操作系统. 一.文件上传 1.导入commons-fileupload.jar commons-io.jar 2.配置 <bean id="multipartRe ...
- 两个对象值相同(x.equals(y)==true),但却可有不同的hashcode这句话对吗?
1.这句话当然不对啦,请参看官方文档给出的解释! hashCode public int hashCode()返回该对象的哈希码值.支持此方法是为了提高哈希表(例如 java.util.Hashtab ...
- 大白话OSI七层协议
目录 一.物理层 二.数据链路层 2.1 以太网协议 2.2 Mac地址 2.3 广播地址 三.网络层 3.1 IP协议详解 3.1.1 IP地址的两部分 3.2 子网掩码详解 3.3 IP数据包详解 ...