SpringBoot部署一 Windows服务器部署
作者:mmseoamin日期:2024-04-30

一、概要

        1.1、项目打包成jar包

二、部署运行

        2.1、方法一 java -jar 命令

        2.2、方法二 Service 服务部署

三、总结

 #Spring Boot官方的部署说明 Deploying Spring Boot Applications

一、概要

SpringBoot 内置了Tomcat服务器,目的是为了简化部署的难度,直接用 java -jar 命令即可

1.1、项目打包成jar包

使用IDEA或直接 mvn clean package '-Dmaven.test.skip=true'  ( -Dmaven.test.skip=true 排除测试后进行打包,参数加不加其实都可以)

打包后会出现一个target文件夹,下面有一个我们的jar包,示例如下图

SpringBoot部署一 Windows服务器部署,第1张

二、部署运行
2.1、方法一 java -jar 命令

找到打包后的jar包,拷贝到需要部署的服务器,直接 java -jar 包名字 

java -jar BackupItems-0.0.1-SNAPSHOT.jar

SpringBoot部署一 Windows服务器部署,第2张

 打开浏览器测试运行成功SpringBoot部署一 Windows服务器部署,第3张

# 但现在有一个问题,我们这样验证和测试没问题,但如果生产环境部署,我们还需要把他注册为一个服务,让系统监听这个服务的运行情况,从而保障服务的可用性

带着以上的问题 我们进入下一步 Service 服务部署

2.2、方法二 Service 服务部署

SpringBoot部署指导里有描述,使用winsw,官方下载地址:WinSW_64.exe官方下载 

SpringBoot部署一 Windows服务器部署,第4张

winsw的官方使用说明 GitHub - winsw/winsw: A wrapper executable that can run any executable as a Windows service, in a permissive license.

SpringBoot部署一 Windows服务器部署,第5张

 准备我的环境,我把下载下来的 WinSW-x64.exe 改名为BackupItems.exe

SpringBoot部署一 Windows服务器部署,第6张

 我的xml配置示例


  SpringBoot_BackItems
  SpringBoot_BackItems
  This service runs Springboot continuous integration system.
  java
  -jar "D:\JavaWorkspace\springboot\BackupItems-0.0.1-SNAPSHOT.jar"
  

执行命令:【注意】命令中的BackupItems 是我把Winsw_64.exe改名的

BackupItems install BackupItems.xml

删除服务的命令: 

BackupItems uninstall BackupItems.xml

SpringBoot部署一 Windows服务器部署,第7张

我们看下服务情况并启动服务

SpringBoot部署一 Windows服务器部署,第8张

访问服务一切正常SpringBoot部署一 Windows服务器部署,第9张

三、总结

SpringBoot已经大大简化了部署开发难度和部署步骤,从官方也可以看出Springboot的重要地位。网上也有其他使用 Instsrv.exe和Srvany.exe的,但是这个是旧版本的Windows NT Resource Kit里提供的功能,也可以使用注册服务,这一块微软官方说明:Create a user-defined service - Windows Client | Microsoft Learn

另外Docker部署SpringBoot的部署可以参考我另一个同名博客 Spring Boot集成Docker部署

学无止境,少年,加油!