springboot将jar改成war

一、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目录下。

相关推荐
一直都在5722 分钟前
Docker 从入门到实战系列(四):镜像 / 容器导入导出、容器互联与 SpringBoot 微服务打包
spring boot·docker·微服务
野犬寒鸦3 分钟前
SAP后端实习开发面试:操作系统与网络核心考点及Linux与Redis
java·服务器·网络·后端·面试
ServBay5 分钟前
代码减半,10分钟彻底告别 Java 开发旧习
java·后端
Soofjan7 分钟前
Go Map SwissTable Rehash 扩容与再哈希(源码笔记 6)
后端
future02108 分钟前
Spring 核心原理学习路线(完结汇总):7 篇文章串起 IOC、AOP、事务与 Boot
后端·学习·spring
阿杆12 分钟前
五分钟配好向日葵 MCP,让 AI 替你远程安装 OpenClaw!
后端·aigc·mcp
智能工业品检测-奇妙智能28 分钟前
docker如何进行离线部署springboot项目
spring boot·docker·容器
Soofjan34 分钟前
Go Map SwissTable GetMap 查找流程(源码笔记 3)
后端
Soofjan39 分钟前
Go Map SwissTable ModMap 插入与更新(源码笔记 4)
后端
qq_12498707531 小时前
基于springboot的微信小程序的博物馆文创系统的设计与实现(源码+论文+部署+安装)
java·spring boot·后端·spring·微信小程序·毕业设计·计算机毕设