下面是Spring Boot项目如何部署到Tomcat容器中运行的攻略:
一、将项目打成war包
Spring Boot项目通常打成jar包,但是要部署到Tomcat容器中需要将其打成war包。如果使用Maven构建项目,则只需在pom.xml文件中添加以下代码:
<packaging>war</packaging>
这样项目就会被打成war包了。
二、添加Tomcat依赖
在pom.xml文件中添加以下依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
该依赖指定了Tomcat的启动器,设置作用域为provided表示运行时不会打包到war包,而是由Tomcat容器提供。
三、创建ServletInitializer类
在Spring Boot项目的根目录下创建一个继承自SpringBootServletInitializer类的ServletInitializer类,并重写configure方法,如下所示:
package com.example.demo;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(DemoApplication.class);
}
}
该类的作用是在Tomcat容器启动时加载SpringBootServletInitializer类,并初始化SpringBoot应用程序。
四、配置打包方式
在application.properties或application.yml配置文件中添加以下代码:
spring:
application:
name: demo
jpa:
hibernate:
ddl-auto: update
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
servlet:
multipart:
max-file-size: 10MB
max-request-size: 10MB
# 指定war包的部署名称
jmx.default_domain: demo
profiles:
active: prod
thymeleaf:
cache: true
datasource:
# 数据库配置
cxf:
path: /api
logging:
pretty:
max-chars: 0
swaggerui:
path: /swagger-ui.html
version: 3.20.5
enabled: true
security:
oauth2:
client:
client-id: xxx
client-secret: xxx
access-token-uri: xxx
user-authorization-uri: xxx
scope: xxx
client-authentication-scheme: form
resource:
user-info-uri: xxx
prefer-token-info: true
# 指定打包方式为war
packaging: war
五、构建并部署
构建项目并打包成war包:
mvn clean package
将生成的war包复制到Tomcat容器的webapps目录下,启动Tomcat容器,访问http://localhost:8080/demo即可。
示例一:使用Spring Initializr创建项目
- 访问Spring Initializr官方网站https://start.spring.io/
- 选择Web模块,填写项目的名称和Java版本,并点击Generate按钮
- 将项目导入IDE,添加Tomcat依赖,创建ServletInitializer类并重写configure方法,配置打包方式
- 构建项目并打包成war包,复制到Tomcat容器的webapps目录下,启动Tomcat容器,访问http://localhost:8080/demo即可
示例二:使用Spring Boot CLI创建项目
- 使用命令行工具,输入以下命令创建项目:
spring init --dependencies=web demo
- 使用IDE导入项目,添加Tomcat依赖,创建ServletInitializer类并重写configure方法,配置打包方式
- 构建项目并打包成war包,复制到Tomcat容器的webapps目录下,启动Tomcat容器,访问http://localhost:8080/demo即可
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:spring boot项目如何采用war在tomcat容器中运行 - Python技术站