您的位置:首页 > 运维架构 > Tomcat

Springboot项目打成war包,部署到tomcat上,正常启动访问报错404

2020-02-11 09:55 85 查看

原因

报错原因是因为springboot内嵌的tomcat和要部署的tomcat容器有冲突

解决

  1. 启动类继承
    SpringBootServletInitializer
    ,重载
    configure
    方法
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 ManagementApplication extends SpringBootServletInitializer {

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

@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(ManagementApplication.class);
}
}
  1. 修改pom依赖,排除内嵌tomcat
<!--spring-boot-starter-web里面排除了tomcat,这里单独引入并使用provided,保证在idea里正常运行-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>

<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>

参考:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐