win服务器启动springboot项目,Spring boot项目部署为windows服务

2023-11-17

​ 用途:使用 Spring Boot 开发的 Web 项目,打包生成了一个 jar 包,部署在 Windows 服务器中,设置为开机启动spring boot 生成的 jar 包,直接用 java -jar 运行,但是前提是需要登陆用户,并且注销用户后退出进程,所有不可用

写一个 bat 处理文档,里面写 Java -jar 运行进程,然后把 bat 文档作为一个任务计划与逆行;如果可能是因为任务启动时,系统资源没准备好,可能失败。

最佳方案:使用 winsw,是一个开源项目,可以将任何应用进程注册成服务的软件

步骤:将 Git Hub 中下载的 WinSW.NET4.exe 和 sample-minimal.xml 文档及 springboot 项目的 jar 包放在同一个文档夹中将 winsw 执行进程和 xml 改为同样的名字,推荐使用项目名 +service 的命令方式。

8707389-4dda5b372c6c3287.png

编辑 helloworldService.xml 文档,内容如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

myProjectServiceID

myProjectServiceName

此处可填写该服务的描述

java

-Xmx256m -jar myProject.jar

rotate

运行 - 输入 cmd,注意,要以管理员身份运行 ,然后进入到 myProjectService.exe 所在的文档夹,运行:myProjectService.exe install。cmd 输入命令: net start myProjectServiceName 启动服务运行 - 输入 services.msc,可以查看注册的服务 :myProjectServiceName测试:重启电脑后该服务自动启动,执行第六步可以检查是否成功删除服务器分为两布:1.停止服务 2 删除服务 都在命令行接口实现

net stop myProjectServiceiName 停止运行服务

TIM%E6%88%AA%E5%9B%BE20190325152807.png

myProjectService.exe uninstall 可删除服务

TIM%E6%88%AA%E5%9B%BE20190325153012.png可以将上述命令写道批处理文档中,部署的时候实现一键部署

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

例如myProjectStart.bat内容如下:

cd /d %~dp0

helloworldService.exe install

net start helloworld

cmd

例如myProjectStop.bat内容如下:

cd /d %~dp0 %代替"cd D:XX,统一文档起始目录为当前目录%

net stop helloworld

helloworldService.exe uninstall

cmd %cmd命令窗口不关闭%

如果没有成功可以查看日志找原因,日志文档在同级目录:

TIM%E6%88%AA%E5%9B%BE20190325144957.png

需要注意如果用户没有安装 jdk,需要进行安装并配置环境变量

执行 helloworld.exe install 报错WMI.WmiException: AccessDenied

打开 cmd 的时候,以管理员的身份运行。>windows10系统的搜索框中直接输入命令cmd,结果中鼠标右键,选择管理员身份运行。

转载:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

win服务器启动springboot项目,Spring boot项目部署为windows服务 的相关文章

  • 使用Keras进行LSTM实战

    0 前言 在上文中进行ARIMA时序预测后 了解到强大的LSTM在处理时序预测有更为优秀的表现 因此对LSTM进行了学习 LSTM是一种时间递归神经网络 它出现的原因是为了解决RNN的一个致命的缺陷 原生的RNN会遇到一个很大的问题 叫做T
  • Redis主从集群

    Redis主从集群 1 集群结构 我们搭建的主从集群结构如图 共包含三个节点 一个主节点 两个从节点 这里我们会在同一台虚拟机中开启3个redis实例 模拟主从集群 信息如下 IP PORT 角色 192 168 150 101 7001
  • 文件上传 拿 shell

    启动docker开启镜像环境 成功在主机上访问到 根据弱密码tomcat tomcat登陆管理后台 在下面位置可以找到上传点 上传对应的war文件 先把一剑jsp马保存到zip压缩包中 再修改后缀名为war上传 可以看到上传成功 连接成功
  • 获取表单中某个元素,返回数组

    获取id为editForm的表中中所有input元素的对象 input editForm 获取每个input中name和val var ret input editForm each function var nm this attr na
  • OpenWrt后台管理启用https-OpenSSL

    OpenWrt 默认使用http 访问管理后台 这样不安全 推荐修改为 https 访问 加密数据传输 本文介绍配置步骤 1 卸载旧的ssl软件包 root OpenWrt opkg remove luci ssl px5g px5g mb
  • 深入《C++ Core Guidelines解析》:提升C++编程实践的关键指南

    目录 1 写在前面 2 推荐理由 3 内容介绍 4 作者介绍 5 赠书 or 购买 1 写在前面 C Core Guidelines是一个正在进行的开源项目 通过将广泛认可的现代C 上佳实践集中在一个地方来解决这些问题 Core Guide
  • Kylin--简介及图解架构

    Kylin简介 Kylin 麒麟 的诞生背景 Kylin的应用场景 为什么要使用Kylin Kylin的总体架构 Kylin 麒麟 的诞生背景 ebay 中国团队研发的 是第一个真正由中国人自己主导 从零开始 自主研发 并成为Apache顶
  • Linux中创建文件与文件夹

    一 创建文件夹 命令 mkdir 文件夹名 例 一开始home目录下没有test文件夹 命令创建后生成 二 创建文件 命令 touch 文件名 例 一开始test文件夹下没有boot properties 命令创建后生成 三 注意事项 创建
  • linux下挂载移动硬盘(ntfs格式),Linux下挂载移动硬盘(NTFS格式)

    工作中遇到linux系统 Red Hat Enterprise5 7 挂载希捷ntfs格式移动硬盘 会跳出一个ERROR提示框 The volume EAGET NQH user the ntfs file system which is
  • arcpy导入报错 “ImportRrror: No module named arcpy”

    在使用ArcGIS自带的Python IDLE处理数据的时候 导入arcpy报错 ImportError No module named arcpy 我遍历了各解决方法依然无法成功导入arcpy 后经过查询 探索 通过如下方法得以成功解决
  • aoj1303

    继续python系列 python能够自动推断类型这个太好用了 根本不用声明类型 自己根据运行情况推断出所用的类型 所以在定义函数的时候根本不用声明参数的类型 下面这个题目aoj1303 求2的指数 如下 def gethex a li w
  • 关于飞书的告警通知,这里有个更好的办法

    飞书 是字节跳动于2016年自研的新一代一站式协作平台 是保障字节跳动全球五万人高效协作的办公工具 飞书将即时沟通 日历 云文档 云盘和工作台深度整合 通过开放兼容的平台 让成员在一处即可实现高效的沟通和流畅的协作 全方位提升企业效率 20
  • Git 使用

    Git 一 Git基础 1 Git介绍 Git是目前世界上最先进的分布式版本控制系统 2 Git与Github 2 1 两者区别 Git是一个分布式版本控制系统 简单的说其就是一个软件 用于记录一个或若干文件内容变化 以便将来查阅特定版本修
  • 模板类、模板函数的模板类型显式实例化及其用途(转载)

    转载自 C 11模板隐式实例化 显式实例化声明 定义 简单易懂 云飞扬 Dylan的博客 CSDN博客 模板隐式实例化 1 隐式实例化 在代码中实际使用模板类构造对象或者调用模板函数时 编译器会根据调用者传给模板的实参进行模板类型推导然后对
  • 【LAMMPS系列】LAMMPS软件安装资料包

    大家好 我是粥粥 LAMMPS 是一种经典的分子动力学代码 专注于材料建模 它是大型原子 分子大规模并行模拟器的首字母缩略词 LAMMPS 具有固态材料 金属 半导体 和软物质 生物分子 聚合物 以及粗粒或中等系统的势函数 它可用于模拟原子
  • 自定义多数据源JDBC连接池

    背景 公司需要对各个客户的数据库进行统一管理 故涉及到对多个不同数据库进行连接 传统的数据库连接池无法满足需求 故结合网上的自定义数据库连接池 进行的改进 代码如下 注意 由于代码处于公司环境 有直接使用肯定是会有报错 相信这种简单的修补是
  • android Stopwatch实例

    Stopwatch 实例 package net baisoft stopwatch import java util ArrayList import java util Date import java util HashMap imp
  • electron vue 打开新窗口

    1 主进程 background js文件 const winURL process env NODE ENV development http localhost 8080 file dirname index html 事件名 open
  • 网页设计期末大作业-景点旅游网站(含导航栏,轮播图,样式精美)

    景点旅游网站 资源链接在文末 页设计期末结课的作业 样式很精美 链接基本正常 详细情况入下图所示 资源下载链接 https download csdn net download weixin 43474701 85514120

随机推荐