美文网首页
8-springboot打war包在tomcat上无法正常启动

8-springboot打war包在tomcat上无法正常启动

作者: Guoyubo | 来源:发表于2018-11-08 16:25 被阅读0次

    背景

    20181108用IDEA新建了一个基于springboot2.1.0的项目,在IDEA上用内置的tomcat8.5跑可以正常运行,但是后面项目不断的开发,用到了zull,突然有一天打包放在服务器的tomcat8.5里,发现项目启动不了了,就是不出现那个springboot的大字了,在spring前面就停掉了,仅仅是把war给解压了


    图片.png

    tomcat也没用报错信息,tomcat是可以正常启动的,仅仅是项目起不来,也不知道啥情况,再新建一个springboot2.1.0项目扔服务器tomcat里可以运行呀。

    解决

    1一开始以为是不是springboot版本太高了,然后把服务器tomcat8换成9,依然不行,
    2然后又把springboot2.1.0改成了2.0.0,结果可以正常启动,
    3然后又把springboot2.1.0改成了2.0.4,结果启动不起来,要疯了
    4经过2天的努力,原来的那个项目不管怎么样都不行,但是新建一个项目把原来的代码全部拷过来就可以,这尼玛。。。。。。。
    5今天不打算搞的,就直接用新建的项目吧,但是心里不爽,觉得肯定是打包出问题了,但是又不确定是不是springboot版本问题
    然后试着直接用idea在项目里运行外部的tomcat8.5,发现还是不行,tomcat是正常跑起来的,项目没起来,在网上idea如何运行外部tomcat的时候,大家都说改代码之类的,我就在想,怎么整个tomcat这么麻烦的吗?之前不用springboot的时候很简单呀

    但是这给我灵感了,搜难道是tomcat找不到springboot项目的启动类????
    然后让启动类集成SpringBootServletInitializer,重写configure方法

    @SpringBootApplication
    //使Zuul代理生效
    @EnableZuulProxy
    //配置扫描dao层
    @MapperScan("com.beacool.marslight.dao")
    public class MarslightZuulServiceApplication extends SpringBootServletInitializer {
    
        @Override
        protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
            return application.sources(MarslightZuulServiceApplication.class);
        }
    
        public static void main(String[] args) {
            SpringApplication.run(MarslightZuulServiceApplication.class, args);
        }
    }
    
    

    果然,再打war包放在服务器的tomcat上能运行起来了!!!,就是tomcat在启动war包时找不到springboot的入口类!!!!!

    图片.png

    相关文章

      网友评论

          本文标题:8-springboot打war包在tomcat上无法正常启动

          本文链接:https://www.haomeiwen.com/subject/lxpawftx.html