SpringBoot部署到外部Tomcat


1、修改pom.xml文件

①设置打包形式

war

②移除嵌入式Tomcat插件

修改前:


  org.springframework.boot
  spring-boot-starter-web

修改后:


  org.springframework.boot
  spring-boot-starter-web
  
  
    
      org.springframework.boot
      spring-boot-starter-tomcat
    
  

③添加servlet-api依赖


  javax.servlet
  javax.servlet-api
  3.1.0
  provided

2、修改Application启动类

修改前:

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

修改后:

@SpringBootApplication
public class KlausApplication extends SpringBootServletInitializer {
  public static void main(String[] args) {
    SpringApplication.run(KlausApplication.class, args);
  }
  @Override
  protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
    return builder.sources(KlausApplication.class);
  }
}

3、将war包放入外部tomcat的webapps下

4、在外部Tomcat的bin目录下双击startup.bat

5、访问方式:输入http://localhost:8080/项目名称/接口地址

问题描述:SpringBoot项目部署到Tomcat中访问接口出现404
问题原因:地址输入时项目名称不是tomcat中部署的war包名称
解决方法:修改问题地址
问题地址:http://localhost:8080/Klasu/
成功地址:http://localhost:8080/klaus-0.0.1-SNAPSHOT/