【发布时间】:2023-03-17 07:48:01
【问题描述】:
我正在使用 Spring Boot 开发 Web 应用程序。我的典型部署是生成war 并将其放在Tomcat 目录下的webapps 文件夹中。
我注意到SpringBoot,我需要一个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);
}
}
【问题讨论】:
-
如果您想部署为战争,我认为您不需要 main 方法。如果删除它会发生什么?
-
是的,你不需要它。如果它只是您正在构建的 WAR 文件,则可以将其删除。
-
文档的关键部分是“(...)您更新应用程序的主类以扩展 SpringBootServletInitializer”;如果您在该页面的其余部分搜索“
public class Application”的出现,您会发现它们只是引用该类的先前形状。 -
@JBNizet:如果我删除 main 方法,构建将失败。我在这里有一个帖子:stackoverflow.com/questions/29831953/…
-
@kryger:请看我上面的评论
标签: spring spring-mvc spring-boot