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

相关推荐
程序员码歌1 小时前
明年35岁了,如何破局?说说心里话
android·前端·后端
橙*^O^*安1 小时前
Go 语言基础:变量与常量
运维·开发语言·后端·golang·kubernetes
工程师小星星1 小时前
Golang语言的文件组织方式
开发语言·后端·golang
哈喽姥爷2 小时前
Spring Boot---自动配置原理和自定义Starter
java·spring boot·后端·自定义starter·自动配置原理
小蒜学长3 小时前
基于springboot 校园餐厅预约点餐微信小程序的设计与实现(代码+数据库+LW)
数据库·spring boot·微信小程序
舒一笑4 小时前
为什么where=Version就是乐观锁了?
后端·mysql·程序员
GoGeekBaird4 小时前
关于垂类AI应用落地行业的方法论思考
后端·github·agent
小宁爱Python4 小时前
Django 基础入门:命令、结构与核心配置全解析
后端·python·django
老华带你飞4 小时前
考研论坛平台|考研论坛小程序系统|基于java和微信小程序的考研论坛平台小程序设计与实现(源码+数据库+文档)
java·vue.js·spring boot·考研·小程序·毕设·考研论坛平台小程序
你的人类朋友5 小时前
认识一下Bcrypt哈希算法
后端·安全·程序员