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

  • Post author:
  • Post category:其他


​ 用途:使用 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,结果中鼠标右键,选择管理员身份运行。

转载: