龙空技术网

SpringBoot2.x打包部署到服务器的方法

IT小村 130

前言:

目前大家对“部署springboot到服务器”大概比较关注,各位老铁们都需要学习一些“部署springboot到服务器”的相关文章。那么小编也在网摘上搜集了一些关于“部署springboot到服务器””的相关知识,希望咱们能喜欢,兄弟们一起来学习一下吧!

背景

最近新建了个SpringBoot的工程,版本是2.6.6的,本地开发测试完毕,想要部署到Tomcat服务器上去。

问题

发现直接打成war包,放到tomcat里边,没能运行我写的代码。

分析

本地开发,我们可以手动运行@SpringBootApplication注解类的下的main方法,而部署到服务器上时,需要指引服务器去运行这个main方法。

package com.example.client;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;/** * @author hongcunlin */@SpringBootApplicationpublic class ClientApplication {    public static void main(String[] args) {        SpringApplication.run(ClientApplication.class, args);    }}
方案

SpringBoot其实已经帮我们考虑到这个事了,我们只需要继承SpringBootServletInitializer类,重写configure方法即可。

package com.example.client;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.boot.builder.SpringApplicationBuilder;import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;/** * @author hongcunlin */@SpringBootApplicationpublic class ClientApplication extends SpringBootServletInitializer {    public static void main(String[] args) {        SpringApplication.run(ClientApplication.class, args);    }    /**     * 1.继承SpringBootServletInitializer     * 2.重写configure方法     *     * @param builder     * @return     */    @Override    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {        return builder.sources(ClientApplication.class);    }}

标签: #部署springboot到服务器