关于springboot项目的部署与SSM(框架)部署war包到Tomcat下有所不同,比较明显的是springboot打包为jar包,运行则是执行通过java -jar xxx.jar,不再需要放置在Tomcat下面运行。

关于springboot项目部署相对于之前简化了一些步骤,只需要在服务器中安装好jdk环境,然后执行java -jar xxx.jar就可以把项目跑起来,如下所示。

我们通过传统--->改进版--->改进版plus--->最终版演变方式来一步步探讨一下。

1、方式一(传统版)

(1)假设这是window服务器,D盘中有一个名为demo-0.0.1-SNAPSHOT.jar项目

(2)打开cmd,运行项目。

端口:9527

/:去项目名

(3)实际测试项目(demo-0.0.1-SNAPSHOT.jar)中的一个接口

(4)测试访问

2、改进版

以上方式运行项目还需要手动进入cmd输入命令,相对来说比较麻烦。

下面我们可以通过一个bat脚本来实现这个功能。

(1)脚本内容,比较简单。

(2)执行cmd脚本

(3)测试访问

3、 改进版plus

关于以上的两种方式不能满足开机自启动需求。

假设服务器宕机,重启启动服务还需要人工操作。

所以下面我们利用windows启动菜单添加快捷方式来完成开机自启的需求。 (1)win+R打开运行窗口,输入shell:startup

(2)将步骤2的脚本start.cmd新建一个快捷方式,然后将快捷方式拷贝到启动项文件中。

(3)重启电脑进行测试,自行操作。

4、 最终版

关于以上的3种方式都有一个通病:

一直显示着一个CMD窗口,而且这个窗口不能关,关了程序就停了。

继而引出了我们今天的主角:

可以将Windows上的任何一个程序注册为服务的工具--winsw

关于winsw官方发言:

WinSW is an executable binary, which can be used to wrap and manage a custom process as a Windows service.

WinSW是一个可执行的二进制文件,可用于将自定义进程包装和管理为Windows服务。

以下两个版本:

WinSW.NET4.exe:

支持.netframework4.0的版本,如果没有4.0,请先安装.net4.0。

如下图:

这里以WinSW.NET2.exe为例。

下载到桌面WinSW.NET2.exe

(2)将WinSW.NET2.exe改名成启动服务名字(便于理解、使用)。

如:将WinSW.NET2.exe改成springbootDemo.exe (3)新建一个WinSW的xml配置文件 注意: XML文件要和程序名同名,所以这里名为springbootDemo.xml

(4)将我们的springboot项目(demo-0.0.1-SNAPSHOT.jar)和springbootDemo.xml文件、springbootDemo.exe工具放置到同一个目录中。

(5)编写springbootDemo.xml配置文件,如下所示:

springbootDemo

springbootDemo

This is springbootDemo service.

java

-jar "D:\springboot-service\demo-0.0.1-SNAPSHOT.jar"

Automatic

%BASE%\log

rotate

下面是配置文件用到的标签的简单解释

springbootDemo

springbootDemo

This is springbootDemo service.

java

-jar "D:\springboot-service\demo-0.0.1-SNAPSHOT.jar"

Automatic

%BASE%\log

rotate

(6)打开cmd窗口,注册服务

cd springboot-service

springbootDemo.exe install

安装成功 (7)Win+R输入services.msc

(8)可以看到我们刚刚的springboot项目已经被注册成一个window服务了

在这里我们可以对我们的springbootDemo项目进行启动、停止、手动开启、自动开启等等管理。

测试完成。 补充:

一些常用的命令

winsw install:安装服务

winsw uninstall:卸载服务

winsw start:开启服务

winsw stop:停止服务

winsw restart:重新启动服务

winsw status:检查服务的当前状态

java注册系统服务_奇葩需求:springboot项目注册为windows系统服务并设置开机自启...相关推荐

  1. linux java jar包项目如何安装在win系统 设置开机自启等配置 - jar包配置不用改

    大家都知道  linux 是没有c盘或者d盘 我们部署linux项目的时候  , java 上传的文件都是在当前项目的目录下, 我们需要把项目部署到win系统的时候 在不改其jar包的配置下,在指定盘 ...

  2. 使用VS2017将我的c++项目打包成安装程序,并设置开机自启,卸载,图标等

    大体上打包分为两步 目录 一.将编译后的exe可执行文件及其各种依赖dll.lib.图标.配置文件等先打包放到一个目录中 (1)dumpbin指令查看可执行文件的dll依赖包 (2)windeploy ...

  3. bat启动脚本 springboot_奇葩需求:springboot项目注册为windows系统服务并设置开机自启...

    关于springboot项目的部署与SSM(框架)部署war包到Tomcat下有所不同,比较明显的是springboot打包为jar包,运行则是执行通过java -jar xxx.jar,不再需要放置 ...

  4. 奇葩需求:springboot项目注册为windows系统服务并设置开机自启

    程序员的成长之路 互联网/程序员/技术/资料共享 关注 阅读本文大概需要 4 分钟. 作者:双主双机热备 来源:http://suo.im/5yPoPJ 关于springboot项目的部署与SSM(框 ...

  5. java 定时任务怎么关闭_浅谈springboot项目中定时任务如何优雅退出

    在一个springboot项目中需要跑定时任务处理批数据时,突然有个Kill命令或者一个Ctrl+C的命令,此时我们需要当批数据处理完毕后才允许定时任务关闭,也就是当定时任务结束时才允许Kill命令生 ...

  6. Java毕业设计:养老院管理系统(Springboot项目)

    [辰兮要努力]:hello你好我是辰兮,很高兴你能来阅读,昵称是希望自己能不断精进,向着优秀程序员前行! 博客来源于项目以及编程中遇到的问题总结,偶尔会有读书分享,我会陆续更新Java前端.后台.数据 ...

  7. jpa遇到mysql表名大写怎么办_解决(springboot项目)mysql表名大写,造成jpa Table doesn't exist问题...

    一般实体类中的属性, 如contentType会被hibernate默认映射为content_type,如果数据库中的字段是contenttype则会不匹配 这个问题有2种解决方法: 我的报错是: j ...

  8. maven 不编译jasper文件_第一个SpringBoot项目、核心配置文件properties(yml、yaml)、集成jsp...

    SpringBoot简介及国内关注度 SpringBoot简介: 它用来简化 Spring 应用程序的创建和开发过程,也可以说 Spring Boot 能简化我们之前采用 SpringMVC +Spr ...

  9. jsp拿不到回显数据_第一个SpringBoot项目、核心配置文件properties(yml、yaml)、集成jsp...

    SpringBoot简介及国内关注度 SpringBoot简介: 它用来简化 Spring 应用程序的创建和开发过程,也可以说 Spring Boot 能简化我们之前采用 SpringMVC +Spr ...

最新文章

  1. 华为云垃圾分类AI大赛三强出炉,ModelArts2.0让行业按下AI开发“加速键”
  2. 「Vue」vue生命周期
  3. 天津政府应急系统之GIS一张图(arcgis api for flex)讲解(四)地图导航控件模块...
  4. mysql索引的使用和优化
  5. wxWidgets:wxMessageDialog类用法
  6. spring整合mongodb集群
  7. rostcm6情感分析案例分析_电商评论情感分析
  8. 取出字符串中的数字部分
  9. gradle对java插件的扩展_Gradle之java插件入门
  10. 无需软件实现QQ空间秒赞以及赞空间全部说说
  11. CAS单点登录原理及实现
  12. android切图规范,APP切图详细规范终极指南
  13. 【云原生监控系列第一篇】一文详解Prometheus普罗米修斯监控系统(山前前后各有风景,有风无风都很自由)
  14. cms32L051 掉电深度睡眠的唤醒
  15. spring boot社区疫苗接种管理系统毕业设计源码281442
  16. JavaScript:Promise进阶知识
  17. overflow and underflow
  18. 锂矿降龙十八掌之时乘六龙:盛新锂能
  19. 学计算机专业表情包,大学专业恶搞表情包,你中枪了吗
  20. Python-使用海龟绘图制作动态时钟

热门文章

  1. vscode remote ssh_win10 下安装Vscode
  2. 面板大小调整_3天学会premiere完全自学教程-更改剪辑大小
  3. java坦克大战总体功能设计_java课程设计——坦克大战
  4. 访问不了html的内容,index.html文件内容与实际访问结果不同
  5. 基于JAVA+SpringMVC+Mybatis+MYSQL的现代史网站设计
  6. linux运行run.tar.gz,linux .run 文件的制作和安装
  7. JAVA基础系列:反射
  8. VSCode代码格式化自动换行问题
  9. sqlilabs 5
  10. 组合数学及其应用——polya计数