我正在使用 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);
}
}
最佳答案
典型部署场景构建war并放置在Tomcat的webapps文件夹中,不需要main方法。您只需要:
public class Application extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(Application.class);
}
}
但是,如果您希望能够在开发时从 IDE 中启动应用程序(例如,使用 Eclipse 的运行方式 -> Java 应用程序)或 build an executable jar or a war可以通过 java -jar myapp.war
命令与 Spring Boot 的嵌入式 tomcat 独立运行,带有 main 方法的入口点类可能会有所帮助。
关于spring - 如果我使用 Spring Boot 将 web 应用程序开发为 war ,为什么我需要 main 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29782148/