一、maven项目
1、修改pom文件
xml
<packaging>war</packaging>
2、添加Servlet API依赖,Spring Boot的Starter依赖通常会包含这个依赖,所以你可能已经有了,没有就需要添加
xml
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version> <!-- 适用于Servlet 3.1规范的版本 -->
<scope>provided</scope>
</dependency>
3、修改Application类
java
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
@SpringBootApplication
public class MyApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(MyApplication.class);
}
}
4、构建WAR文件:
shell
mvn clean package
这将生成一个WAR文件,通常位于target目录下。
二、Gradle项目
1、修改build.gradle文件:
注释掉Spring Boot插件的引用,因为在WAR打包中不再需要。
groovy
// apply plugin: 'org.springframework.boot'
2、添加war插件,以告诉Gradle将项目打包成WAR文件。
groovy
apply plugin: 'war'
3、添加Servlet API依赖,Spring Boot的Starter依赖通常会包含这个依赖,所以你可能已经有了,没有就需要添加
groovy
dependencies {
implementation 'javax.servlet:javax.servlet-api:3.1.0' // 适用于Servlet 3.1规范的版本
// 其他依赖...
}
4、修改Application类
java
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
@SpringBootApplication
public class MyApplication extends SpringBootServletInitializer {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(MyApplication.class);
}
}
5、构建WAR文件
shell
./gradlew clean build
这将生成一个WAR文件,通常位于build/libs目录下。