为什么使用外部tomcat运行spring boot项目时没有调用main方法

kos*_*spi 6 spring spring-boot

我在这篇文章之后做了可部署的战争。

https://docs.spring.io/spring-boot/docs/current/reference/html/howto-traditional-deployment.html

然后,使用外部tomcat运行。

为什么使用外部tomcat运行时没有调用main方法?(但过程运行良好)

@SpringBootApplication
public class Application extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(Application.class);
    }

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

}
Run Code Online (Sandbox Code Playgroud)

我用java -jar xxx.war运行,这个main方法已经调用好了。

我有什么遗漏的吗?

小智 1

当Spring Boot应用程序部署到现有的tomcat容器时,该应用程序是由ServletInitializer初始化的,因此它只会运行Application.class中的configure方法