Springboot项目打包war配置详解

news2024/11/26 14:43:37

Springboot项目打包war配置详解

  • 1. 排除内置tomcat依赖
    • 2. 添加servlet依赖
    • 3. 修改打包方式
    • 4. 修改主启动类
    • 5. 完整pom.xml
    • 6. 效果图

1. 排除内置tomcat依赖

<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-web</artifactId>
     <exclusions>
         <exclusion>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-tomcat</artifactId>
         </exclusion>
     </exclusions>
 </dependency>

2. 添加servlet依赖

<dependency>
    <groupId>jakarta.servlet</groupId>
    <artifactId>jakarta.servlet-api</artifactId>
</dependency>

3. 修改打包方式

<packaging>war</packaging>

4. 修改主启动类

@SpringBootApplication
public class Springboot3Application extends SpringBootServletInitializer {

    public static void main(String[] args) {
        SpringApplication.run(Springboot3Application.class, args);
    }

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(Springboot3Application.class);
    }
}

5. 完整pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>3.1.2</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
    <groupId>com.zlm</groupId>
    <artifactId>springboot3</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>springboot3</name>
    <description>springboot3</description>
    <packaging>war</packaging>
    <properties>
        <java.version>17</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>jakarta.servlet</groupId>
            <artifactId>jakarta.servlet-api</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
            <scope>runtime</scope>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <!--true 不打包依赖 false 打包依赖-->
                    <skip>true</skip>
                    <excludes>
                        <exclude>
                            <groupId>org.projectlombok</groupId>
                            <artifactId>lombok</artifactId>
                        </exclude>
                    </excludes>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>

6. 效果图

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/784824.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Keil系列教程08_Configuration(二)

1写在前面 本文接着上一篇文章《Keil系列教程07_Configuration&#xff08;一&#xff09;》讲述的工程目标选项的后三项配置&#xff1a;Shortcut Keys快捷键、Text Completion代码完形、Other其他。 这后面三部分内容在该系列教程其它也会牵涉&#xff0c;也是一些常用、重要…

【数字信号处理】带通采样定理及其MATLAB仿真

目录 一、带通采样定理1.1 内容1.2 公式推导 二、MATLAB信号仿真2.1 信号仿真实验2.2 MATLAB代码 三、总结参考 一、带通采样定理 按照奈奎斯特采样定理(低通采样)&#xff0c;采样频率 f s f_{s} fs​ 要大于等于信号中最高频率 f m a x f_{max} fmax​ 的2倍&#xff0c;才…

excel导入,错误数据excel导出

要实现功能&#xff0c;非空校验&#xff0c;如果为空 则下载错误excel&#xff0c;说明错误原因 导入实体 Data AllArgsConstructor NoArgsConstructor public class ExcelDto implements Serializable{/*** 用户名*/ExcelProperty("用户名")private String user…

JVM系统优化实践(22):GC生产环境案例(五)

您好&#xff0c;这里是「码农镖局」CSDN博客&#xff0c;欢迎您来&#xff0c;欢迎您再来&#xff5e; 除了Tomcat、Jetty&#xff0c;另一个常见的可能出现OOM的地方就是微服务架构下的一次RPC调用过程中。笔者曾经经历过的一次OOM就是基于Thrift框架封装出来的一个RPC框架导…

SAP中文界面乱码问题的分析处理实例

近期遇到用户反映主题问题&#xff0c;如下图这样的中文乱码在SAP的菜单和功能界面中随处可见。 经过一系分析检查发现导致问题的原因在于操作系统中的区域格式语言设置&#xff0c;这里用户设置是中文&#xff0c;简体汉字&#xff0c;香港特别行政区。将其变更为中文&#xf…

了解Unity编辑器之组件篇Video(二)

Video Player组件&#xff1a;用于在游戏中播放视频的组件。它提供了一系列属性来控制视频的播放、显示和交互。 1.Source&#xff08;视频源&#xff09;&#xff1a;用于指定视频的来源。可以选择两种不同的视频源类型&#xff1a; &#xff08;1&#xff09;Vieo Clip&#…

如何看待现在的 IT 行业,秋招来临,新人们又该怎么应对?

如何看待现在的 IT 行业&#xff0c;秋招来临&#xff0c;新人们又该怎么应对&#xff1f; 前言24届校招将开启easy模式&#xff1f;IT行业相比其他专业还有优势吗&#xff1f;IT行业真的不看学历吗&#xff1f;面试老不过&#xff0c;我是不是太菜了&#xff1f;怎么看待35岁裁…

【docker】docker部署mysql

目录 一、步骤二、说明三、步骤 一、步骤 1.搜索mysql镜像 2.拉取mysql镜像 3.创建容器 4.操作容器中的mysql 二、说明 1.容器内的网络服务和外部机器不能直接通信 2.容器中部署的mysql端口3306不能被外部机器和宿主机直接通信 3.外部机器和宿主机之间可以直接通信 4.宿主机和…

【Nodejs】Node.js简介

1.前言 Node 的重要性已经不言而喻&#xff0c;很多互联网公司都已经有大量的高性能系统运行在 Node 之上。Node 凭借其单线程、异步等举措实现了极高的性能基准。此外&#xff0c;目前最为流行的 Web 开发模式是前后端分离的形式&#xff0c;即前端开发者与后端开发者在自己喜…

Chatgpt Web API 创建对话,免费,不计token数量,模仿网页提交对话

Chatgpt API 是收费的&#xff0c;按token使用量计费 Chatgpt Web API 免费的&#xff0c;只要有账号就可以使用。 curl https://chat.openai.com/backend-api/conversation \-H authority: chat.openai.com \-H accept: text/event-stream \-H accept-language: zh-CN,zh;q…

项目:点餐系统1

项目简介&#xff1a;实现一个http点餐系统服务器&#xff0c;能够支持用户在浏览器访问服务器获取餐馆首页&#xff0c;进行菜品以及订单管理。 具体模型如下&#xff1a; 用户分类&#xff1a; 管理员&#xff1a;进行订单以及菜品管理&#xff08;菜品&订单的增删改查&a…

【NLP】BERT,BART和T5等LLM模型的比较

一、介绍 在这篇博文中&#xff0c;我将讨论像BERT&#xff0c;BART和T5这样的大型语言模型。到2020年&#xff0c;LLM领域取得的主要进展包括这些模型的开发。BERT和T5由Google开发&#xff0c;BART由Meta开发。我将根据这些模型的发布日期依次介绍这些模型的详细信息。在之前…

thinkphp实现无限分类(使用递归)

thinkphp实现无限分类&#xff08;使用递归&#xff09; 本文实例为大家分享了thinkphp实现无限分类的详细代码&#xff0c;希望对大家学习无限分类有所启发。 数据库&#xff1a;test 数据表&#xff1a;&#xff08;tp_category&#xff09;&#xff1a; Common/conf/conf…

Python如何读写配置文件?

目录 什么是配置文件 常见的配置文件格式 为什么要使用配置文件 Python如何读写配置文件&#xff1f; 什么是配置文件 配置文件是用于存储程序或系统的设置和配置选项的文本文件。它通常以特定的格式编写&#xff0c;以便程序或系统可以读取和解析其中的配置信息。配置文件…

汽车资讯新闻网站nodejs+vue

本汽车资讯网站有管理员和用户。管理员功能有个人中心&#xff0c;用户管理&#xff0c;汽车品牌管理&#xff0c;价格分类管理&#xff0c;经销商管理&#xff0c;汽车信息管理&#xff0c;留言板管理&#xff0c;系统管理等。用户可以查看各种汽车信息&#xff0c;还可以进行…

Spring 中一个少见的引介增强 IntroductionAdvisor

我们平时做 AOP 开发的时候&#xff0c;基本上都是增强某一个方法&#xff0c;在某一个方法执行之前或者执行之后做一些事情&#xff0c;这种叫做 PointcutAdvisor&#xff0c;实际上&#xff0c;Spring 中的 Advisor 大致可以分为两种类型&#xff0c;除了 PointcutAdvisor 之…

极简并优雅的在IDEA使用Git远程拉取项目和本地推送项目

连接Git 搜索Git然后将你下载好的Git的文件目录位置给他弄进去就行 本地分支管理 分支管理通常是在IDEA的右下角找到 连接远程仓库 方法1本地项目推送到远程仓库 如果当前项目还没交给Git管理的则按照以下图所示先将项目交给Git管理 然后此时文件都会是红色的&#xff0c;这表…

3.矩阵常用操作

文章目录 线性代数的常用操作1.向量的内积2.向量的外积3.正交向量4.正交向量组5.向量空间的基与维数6.正交矩阵7.反对称矩阵8.齐次坐标与齐次变换矩阵9.相似矩阵10.相似对角化11.矩阵的特征分解12.奇异值分解SVD12.1 SVD求齐次矩阵方程的最小二乘解 13.满秩分解14.Pseudo-Inver…

Python入门【 控制语句和逻辑思维、选择结构(条件判断结构)双分支选择结构、多分支选择结构、循环结构、while循环 】(七)

&#x1f44f;作者简介&#xff1a;大家好&#xff0c;我是爱敲代码的小王&#xff0c;CSDN博客博主,Python小白 &#x1f4d5;系列专栏&#xff1a;python入门到实战、Python爬虫开发、Python办公自动化、Python数据分析、Python前后端开发 &#x1f4e7;如果文章知识点有错误…

LeetCode·每日一题·2208. 将数组和减半的最少操作次数·优先队列

作者&#xff1a;小迅 链接&#xff1a;https://leetcode.cn/problems/minimum-operations-to-halve-array-sum/solutions/2357852/you-xian-dui-lie-zhu-shi-chao-ji-xiang-x-805n/ 来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 著作权归作者所有。商业转载请联系作…