随笔 - 239  文章 - 0  评论 - 29  阅读 - 69万

springboot项目部署到tomcat启动失败404

感谢这位老兄:《Spring Boot项目部署到tomcat启动失败404

 

我的springboot是2.7.0版本,需要部署到外部的tomcat版本是8.5,部署失败表象:

IDEA控制台只打印tomcat启动日志,没有springboot加载日志,访问localhost:8080/根路径/接口地址 报404

我查了springboot 2.7.0的内置tomcat的版本是9.0,所以一开始tomcat部署失败,我还以为是tomcat版本太低的原因。

 

后面经大师指点,修改以下3个地方,部署成功:

 

1)修改pom.xml,把打包形式从jar改成war

<properties>
      <packaging>war</packaging>
      <java.version>1.8</java.version>
      <failOnMissingWebXml>false</failOnMissingWebXml>
</properties>

2)在pom中添加一条依赖,使用provided参数来达到在外部tomcat启动时屏蔽springboot自带的tomcat容器

<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
</dependency>

3)修改启动类,继承SpringBootServletInitializer

public class SpringbootApplication extends SpringBootServletInitializer {

    public static void main(String[] args) {
        SpringApplication.run(SpringbootApplication.class, args);
    }
    //重写configure方法
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(SpringbootApplication.class);
    }
}

 

end.

posted on   梦幻朵颜  阅读(1652)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通

点击右上角即可分享
微信分享提示