首页 > 其他分享 >SpringBoot项目打包成war包

SpringBoot项目打包成war包

时间:2024-07-23 10:07:16浏览次数:10  
标签:SpringApplicationBuilder SpringBoot boot springframework org war 打包

1. 项目场景

使用SpringBoot 开发项目,由于内置了Tomcat,所以项目可以直接启动,部署到服务器的时候,直接打成 jar 包,就可以运行了。   有时需要把项目打包放入外置的 Tomcat 或者 TongWeb 中运行,就需要把项目打包成 war 包,。

2. 实现步骤

2.1 将启动类的pom文件打包方式更改为 war

<packaging>war</packaging>

2.2 排除内置 Tomcat

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <!-- 排除内置的tomcat -->
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </exclusion>
    </exclusions>
</dependency>

2.3 添加tomcat依赖,需要用到 servlet-api 的相关 jar 包 

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-tomcat</artifactId>
    <!-- tomcat范围改成provided,否则后面就会出问题,tomcat无法解析jsp -->
    <scope>provided</scope>
</dependency>

2.4 修改启动类,继承 SpringBootServletInitializer 并重写 configure 方法

或者新建文件文件名随意,继承 SpringBootServletInitializer 并重写 configure 方法,也是一样的
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
    return builder.sources(MyApplication.class);
}

 

package com;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

@SpringBootApplication
public class MyApplication extends SpringBootServletInitializer {

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

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

3. 打成 war 包

3.1 直接使用 IDEA 打包,首先运行 clean ,然后点 package,打包即可

3.2 运行完成会把项目打成war包

标签:SpringApplicationBuilder,SpringBoot,boot,springframework,org,war,打包
From: https://www.cnblogs.com/liyhbk/p/18317650

相关文章

  • vue项目打包以及在nginx中部署
    ——————vue项目打包点击npm脚本下的build中的三角即可没有npm脚本的话点下package.json,还没有的参考博客https://www.cnblogs.com/yansans/p/18303172 稍微等一会,打包完成后数据会放在新生成的dist目录中  打包结束  ——————在nginx中部署在文件夹......
  • vmware 17.5安装ubuntu24.04-server版本
    下载地址官网GetUbuntu|Download|Ubuntu清华源清华大学开源软件镜像站|TsinghuaOpenSourceMirror中科大源http://mirrors.ustc.edu.cn/ubuntu-releases/阿里云开源镜像站http://mirrors.aliyun.com/ubuntu-releases/兰州大学开源镜像站http://mirro......
  • 基于springboot的水产养殖系统
    博主介绍:java高级开发,从事互联网行业六年,熟悉各种主流语言,精通java、python、php、爬虫、web开发,已经做了多年的设计程序开发,开发过上千套设计程序,没有什么华丽的语言,只有实实在在的写点程序。......
  • java毕业设计-基于springboot+vue的校园二手交易系统,基于java的校园二手交易系统,基于j
    文章目录前言演示视频项目背景项目架构和内容获取(文末获取)具体实现截图前台功能管理后台技术栈具体功能模块设计系统需求分析可行性分析系统测试为什么我?关于我我自己的网站前言博主介绍:✌️码农一枚,专注于大学生项目实战开发、讲解和毕业......
  • 关于ssh的X11Forwarding功能和vnc端口冲突的问题
    前言偶然间发现有时vnc端口启动不了,显示端口已经启动,但是查看发现默认的59xx端口未启动,但是60xx端口缺被一个sshd进程占用,vnc服务除了默认的59xx端口,还会用到60xx端口。正是因为这个60xx端口被sshd进程占用,所以vnc才启动不了。 那么这个sshd端口是干嘛的呢,默认的sshd端口不是......
  • 初用IDEA的springboot第五步
    使用日志先配置文件,在resources下新建一个log4j.properties,将以下内容粘贴进去##设置###stdout,log4j.rootLogger=all,D,E,stdout##输出信息到控制台###log4j.appender.stdout=org.apache.log4j.ConsoleAppenderlog4j.appe......
  • 基于java+springboot+vue实现的公司日常考勤系统(文末源码+Lw)132
     基于SpringBoot+Vue的实现的公司日常考勤系统(源码+数据库+万字Lun文+流程图+ER图+结构图+开题报告+演示视频+软件包)选题背景及意义:分析企业的考勤管理系统过程可以看到,考勤管理系统中主要要解决的是:1.考勤信息的管理;2.考勤、出勤信息的请假及申请;3.给系统设定用户登录权......
  • Springboot宠物领养商城
    详细运行视频地址宠物领养商城_哔哩哔哩_bilibili1.可注册可登录2.首页-》可浏览热销商品,可查看用户发布的帖子,可查看热门资讯3.宠物商城-》宠物详情,可购买,可加入购物车,可展示评价4.宠物领养-》可查看用户发布的领养的帖子,可留言评论5.平台资讯-》可查看管理员发布的资讯......
  • 基于java+springboot+vue实现的在线课程管理系统(文末源码+Lw)133
     基于SpringBoot+Vue的实现的在线课程管理系统(源码+数据库+万字Lun文+流程图+ER图+结构图+演示视频+软件包)系统功能:本在线课程管理系统有管理员,教师,学生。管理员功能有个人中心,学生管理,教师管理,在线课程管理,课件信息管理,知识要点管理,教学计划管理,考试大纲管理,科目类型管理,......
  • 基于java+springboot+vue实现的在线课程管理系统(文末源码+Lw)133
     基于SpringBoot+Vue的实现的在线课程管理系统(源码+数据库+万字Lun文+流程图+ER图+结构图+演示视频+软件包)系统功能:本在线课程管理系统有管理员,教师,学生。管理员功能有个人中心,学生管理,教师管理,在线课程管理,课件信息管理,知识要点管理,教学计划管理,考试大纲管理,科目类型管理,......