有个奇怪的spring boot项目,在jar包可以运行,在打成war包部署到远程服务器的Tomcat8中就失败,由于项目比较急,客户在电脑前看着解决,一时不知思路。
maven的子项目使用的Tomcat filter均实现了全部方法,此项目只实现doFilter方法,由于spring-boot-tomcat:2.1.4引用的是Tomcat9,其filter接口的init方法和destroy方法为default,IDEA不会编译报错,当打成war部署到Tomcat8的服务器时,由于Tomcat8的filter接口的init()和destroy()不是default的,导致启动失败!
开发环境和部署使用的依赖不一致,将隐形的错误留到了最后。
撒花★,°:.☆( ̄▽ ̄)/$:.°★ 。