首页 > 其他分享 >如何将springboot转称外置tomcat启动

如何将springboot转称外置tomcat启动

时间:2022-12-12 10:58:01浏览次数:65  
标签:Tomcat tomcat 启动 DemoApplication boot 外置 class springboot

正常情况下,我们开发 SpringBoot 项目,由于内置了Tomcat,所以项目可以直接启动,部署到服务器的时候,直接打成 jar 包,就可以运行了 (使用内置 Tomcat 的话,可以在 application.yml 中进行相关配置)

有时我们会需要打包成 war 包,放入外置的 Tomcat 中进行运行,步骤如下 (此处我用的 SpringBoot 版本为 2.1.1,Tomcat 的版本为 8.0)
一、排除内置 Tomcat

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </exclusion>
    </exclusions>
</dependency>

二、将打包方式更改为 war

<packaging>war</packaging>

三、修改启动类

使启动类继承 SpringBootServletInitializer 类,并覆盖 configure 方法

@SpringBootApplication
public class DemoApplication extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(DemoApplication.class);
    }

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

四、添加依赖

由于 SpringBootServletInitializer 类需要用到 servlet-api 的相关 jar 包,所以需要添加依赖

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>4.0.1</version>
    <scope>provided</scope>
</dependency>

 

五、查看结果

最后启动项目,在浏览器中输入 http://localhost:8037/project/test/helloWord 就可以看到结果了

@RestController
public class HelloController {

    @GetMapping(value = "/hello")
    public String hello() {
        return "Hello World!!!";
    }
}

 

标签:Tomcat,tomcat,启动,DemoApplication,boot,外置,class,springboot
From: https://www.cnblogs.com/qxqbk/p/16975459.html

相关文章