Eclipse打包SpringBoot项目为war包并部署到Tomcat中运行

一、打包SpringBoot项目为war包
1、配置pom.xml
设置打包形式为war包

  <packaging>war</packaging>

去除SpringBoot中嵌入的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>          

增加servlet-api依赖

  <dependency>
      <groupId>org.apache.tomcat</groupId>
      <artifactId>tomcat-servlet-api</artifactId>
      <!--将version版本修改为对应的tomcat版本-->
      <version>8.5.20</version>
      <scope>provided</scope>
  </dependency>

2、修改SpringBoot启动类,继承SpringBootServletInitializer

  public class MsgTestApplication extends SpringBootServletInitializer{

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

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

3、打包为war包
点击项目右键——>Run as——>maven build

二、Tomcat部署
1、将项目target包下打包的war包解压放入tomcat/webapp/ROOT包下
2、项目部署在tomcat下,访问端口是tomcat的默认端口,而不是项目配置文件设置的访问端口
3、修改tomcat的默认端口,修改tomcat/conf/server.xml中port属性

  <Connector port="9800" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />

本文是参考网上资料部署项目的总结记录

posted @ 2020-12-03 15:37  老寒腿青年  阅读(361)  评论(0)    收藏  举报