首页 > 解决方案 > 部署为war时是否需要spring boot应用程序的“main”方法

问题描述

当我们将 Spring Boot 应用程序部署为 tomcat 上的“战争”时,我们必须扩展 SpringBootServletInitializer 并覆盖“configure”方法。当我评论“main”方法时,它仍然有效,并且 spring boot 应用程序和我的服务工作正常。将项目部署为“战争”时,我们还需要 main 方法吗?为什么?

@SpringBootApplication
@EnableWs
public class TestApp extends SpringBootServletInitializer {
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder 
builder) {
        return builder.sources(TestApp.class);
    }
    public static void main(String[] args) {
        SpringApplication.run(TestApp.class, args);
    }
}

@SpringBootApplication
@EnableWs
public class TestApp extends SpringBootServletInitializer {

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

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

标签: javaspring-bootservlets

解决方案


不,你不这样做,因为没有人会打电话给它。

如果您想在 Web 容器之外运行它,请期待这种情况。


推荐阅读