• tomcat springboot war包 部署


    pringboot项目打成war包部署在tomcat下

    tomcat 9.0.65
    springboot 2.6.10

    一、修改maven

    spring boot 自带有tomcat 打war时需要去掉(jar可不去)

    <dependency>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-starter-tomcatartifactId>
        <scope>providedscope>
    dependency>
    
    • 1
    • 2
    • 3
    • 4
    • 5

    二、添加启动类

    通过扩展SpringBootServletInitializer并覆盖configure方法来初始化Tomcat所需的Servlet上下文
    请添加图片描述

    package com.shiyongfj;
    
    import org.springframework.boot.builder.SpringApplicationBuilder;
    import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
    
    public class SpringBootStartApplication extends SpringBootServletInitializer {
    
        @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
            return builder.sources(ShiYongFjApplication.class);
        }
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    方式二:

    @SpringBootApplication
    public class DemoApp extends SpringBootServletInitializer {
      @Override
      protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(DemoApp.class);
      }
      public static void main(String[] args) {
        SpringApplication.run(DemoApp.class, args);
      }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    三、打包

    请添加图片描述
    先清楚目录在打包防止干扰

    四、移动war包

    将打好的target下的 war包放在tomcat webapps下
    启动tomcat即可

    五、以根目录运行项目

    tomcat 默然访问方式前面会带上war包名字
    修改tomcat conf/server.xml
    在这里插入图片描述

    <Context path="" doBase="" reloadable="false">Context>
    
    • 1

    path:指定访问该Web应用的URL入口。  
    docBase:指定Web应用的文件路径,可以给定绝对路径,也可以给定相对于的appBase属性的相对路径,如果Web应用采用开放目录结构,则指定Web应用的根目录,如果Web应用是个war文件,则指定war文件的路径。  
    reloadable:如果这个属性设为true,tomcat服务器在运行状态下会监视在WEB-INF/classes和WEB-INF/lib目录下class文件的改动,如果监测到有class文件被更新的,服务器会自动重新加载Web应用。在开发阶段将reloadable属性设为true,有助于调试servlet和其它的class文件,但这样用加重服务器运行负荷,建议在Web应用的发存阶段将reloadable设为false。

  • 相关阅读:
    【Java EE初阶二十】http的简单理解(一)
    cache三种地址映像
    小程序弹窗
    天宇优配|北上广深角逐“国字号”数据交易所 行业爆点
    中国青少年棒球运动宣传·棒球7号位
    双十一报告:服饰企业借助团队管理工具飞项高效协作
    一些 Docker 基础指令
    【Kali安全渗透测试实践教程】第7章 权限提升
    18 【节点的关系和内部操作】
    Generalizable NeRF in ICCV‘23
  • 原文地址:https://blog.csdn.net/w710537643/article/details/126157347