Spring Boot应用程序创建可部署的war文件到tomcat

经过前面的入门体验

  • Spring Boot第一个web在浏览器输出Hello
  • Spring Boot建立一个web控制器

有一个想法,如何生成war文件部署到tomcat呢?

生成可部署war文件的第一步是提供一个SpringBootServletInitializer子类(Application )并覆盖其configure方法。这样做利用了Spring Framework的Servlet 3.0支持,并允许您在由Servlet容器(tomcat)启动应用程序时对其进行配置。通常,应将应用程序的主类更新为extend SpringBootServletInitializer,如以下示例所示:

@SpringBootApplication
public class Application extends SpringBootServletInitializer {

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

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

}

下一步是更新构建配置,以使您的项目生成war文件而不是jar文件。如果您使用Maven和spring-boot-starter-parent(为您配置Maven的war插件),那么您要做的就是修改pom.xml以将包装更改为war,如下所示:

war

该过程的最后一步是确保嵌入式servlet容器不干扰war文件所部署到的servlet容器(tomcat)。为此,您需要将嵌入式Servlet容器依赖项标记为已提供。如果使用Maven,则以下示例将servlet容器(在本例中为Tomcat)标记为已提供:


    
    
        org.springframework.boot
        spring-boot-starter-tomcat
        provided
    
    

OK!Spring Boot应用程序就可以创建可部署的war文件到tomcat了(tomcat8.5测试通过,不支持tomcat7.0)。

 

你可能感兴趣的:(Spring,Boot)