我正在使用Spring Boot开发Web应用程序。我的典型部署是生成war并将其放置webapps在Tomcat目录下的文件夹中。
war
webapps
我注意到SpringBoot,我需要一个main方法。我想知道为什么需要这样做。如果有办法避免这种情况,那会是什么?
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); } }
在进行战争并将其放置在Tomcat的webapps文件夹中的典型部署方案中,不需要主要方法。所有你需要的是:
public class Application extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { return application.sources(Application.class); } }
但是,如果您希望能够在IDE内(例如,使用Eclipse的Run As-> Java应用程序)在IDE中启动应用程序,而仅通过命令即可在Spring Boot的嵌入式tomcat上独立运行,则可以开发或构建可执行jar或warjava -jar myapp.war,具有main方法的入口点类可能会有所帮助。
java -jar myapp.war