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>
二、添加启动类

通过扩展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);
    }
}

方式二:

@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);
  }
}
三、打包

tomcat springboot war包 部署_第1张图片
先清楚目录在打包防止干扰

四、移动war包

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

五、以根目录运行项目

tomcat 默然访问方式前面会带上war包名字
修改tomcat conf/server.xml
tomcat springboot war包 部署_第2张图片

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

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,运维,tomcat,spring,boot,java)