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

经过前面的入门体验

有一个想法,如何生成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,如下所示:

<packaging>war</packaging>

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

<dependencies>
    <!-- … -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
        <scope>provided</scope>
    </dependency>
    <!-- … -->
</dependencies>

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

 
发布了5 篇原创文章 · 获赞 1 · 访问量 347

猜你喜欢

转载自blog.csdn.net/onion101325/article/details/104344078