前言 :在公司换了工作地点,需要在新的环境中启动项目,在确保代码,工作环境保持一致的情况下遇到了一些问题,经过搜索也百思不得其解,后来在同事指导下完美解决问题。
问题: tomcat启动后spring容器关闭,然后卡在那里。编译没问题,得到jar包可以直接运行得到效果,就是在idea中运行不通过。
- 备注:手机拍照不清晰,下方还有手敲解释
Root WebApplicationContext: initialization completed in 213980 ms
可以看到初始化成功,但是卡在这里
Closing Spring root WebApplicationContext:startup date [Thu Apr 08 10:37:46 CST 2021]; root of context hierarchy
解决:然后经过几大浏览器,中外网的求助,有说修改tomcat的server.xml中context配置,但我也同评论着没有解决问题。最后求助同事,刚好他遇到过这个问题,直接解决。
我们之前看的都是tomcat的server的控制台,但当我们把目光放到Tomcat Localhost Log控制台,可以清楚的看到一个异常StringIndexOutOfBoundsException
字符串索引越界异常,还是属于tomcat的异常,与项目无关。这个其实是读取url路径出现的问题,在“/”后加上一个路径,比如localhost://8080/local/,或者在Deployment选项中,加上虚拟路径 (Application context 的值加上“/local”),不要只是填写“/”
再次启动就没有问题,目前不知道原理是什么,还没深究。如果你也遇到这个问题,可以看一下控制台Tomcat Localhost Log,有没有类似的问题。