Spring Boot应用程序创建可部署的war文件到tomcat
程序员文章站
2023-12-30 17:13:34
...
经过前面的入门体验
有一个想法,如何生成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)。