org.apache.catalina.core.StandardContext.startInternal 一个或多个筛选器启动失败。完整的详细信息将在相应的容器日志文件中找到

1. 问题发生环境

  1. JDK11
  2. tomcat 8.5

Tomcat 启动时候报如下错误:


image.png

2. 原因分析

        servlet-api 4.x 版本相较于 3.x 版本对于 Filter 接口做了一次接口升级,这样在你本地上使用 servlet-api 是4.x 版本进行编码的时候,创建一个新的 Filter 实现类的不用再实现 如下两个升级的方法,编译后后的class提交到Tomcat运行,其 servlet-api 的版本反而是未进行接口升级的,因此会导致问题.

image.png

3. 解决方案

    1. 要么继续使用 4.x 版本的serlvet-api , 但要重写两个升级的方法(init, destroy)
    1. 要么降低本地 servlet-api 的版本为 3.x,这样根据编译器会提示你实现 init 和 destroy.
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容