Tomcat中部署SpringBoot项目
原创
©著作权归作者所有:来自51CTO博客作者z_子颜的原创作品,请联系作者获取转载授权,否则将追究法律责任
Tomcat中如何部署SpringBoot
一、新建SpringBoot项目
<!--SpringBoot-WEB依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
二、pom.xml中排除内嵌的tomcat
<!--排除内嵌的tomcat-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
三、pom.xml中添加对项目打war包插件
<packaging>war</packaging>
<build>
<!--war包名称-->
<finalName>${project.artifactId}</finalName>
<!--对项目打war包依赖-->
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>3.0.0</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
</plugins>
</build>
四、编写WEB发布容器启动类
创建一个继承自 SpringBootServletInitializer 的类,并重写 configure() 方法,如下所示:
SpringbootServletInitializerApplication是SpringBoot主启动类的类名
public class ServletInitializerApplication extends SpringBootServletInitializer{
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(SpringbootServletInitializerApplication.class);
}
}
五、执行Maven构建
六、发布
将打包好的war包放在tomcat的webapps目录下即可,Tomcat启动会自动解压war包。
需要注意的几点是:
- 1、项目启动会使用Tomcat容器的端口,SpringBoot中配置端口不会生效
- 2、项目访问需要加上war包的名称,比如:localhost:8080/springboot-servlet-nitializer
- 3、如果想要不加项目名访问,需要修改fileName为ROOT,例如:<finalName>ROOT</finalName>