问题描述

  1. 我采用了Servlet3.X,新增加了SPI加载机制,会自动扫描classpath:META-INF/services/javax.servlet.ServletContainerInitializer中的所有这个文件,并加载其中的所有javax.servlet.ServletContainerInitializer的实现类,实现替换web.xml的功能,让你的项目war可以不需要web.xml也能正常在tomcat运行。
  2. 然后呢,日志我采用了logback,这个jar中ch.qos.logback.classic.servlet.LogbackServletContainerInitializer就实现了javax.servlet.ServletContainerInitializer,因此tomcat在启动时就会自动加载这个类初始化一些配置。
  3. LogbackServletContainerInitializer是在logback-classic包中的,javax.servlet.ServletContainerInitializer是在javax.servlet-api包中的。

解决方式

保证你的项目依赖中mvn dependency:tree查到的所有servlet-api依赖都是provided,就能启动成功了。

<dependency><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version><scope>provided</scope>
</dependency>

Cannot cast ch.qos.logback.classic.servlet.LogbackServletContainerInitializer to javax.servlet.Servl相关推荐

  1. FAQ:Springboot项目运行过程中java.lang.NoClassDefFoundError: ch/qos/logback/classic/spi/ThrowableProxy

    原因是jar包在运行过程中因为要调试被我mvn package重新编译了,程序依赖的包变化导致运行时错误. 2019-07-18 17:01:59.913 DEBUG 21687 --- [0.0-7 ...

  2. SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelecto

    标签: Java日志方案有很多,包括:java.util.logging.Apache的commons-logging和log4j.slf4j以及logback. 一个大型项目会用到众多第三方jar包 ...

  3. Web项目中诡异的java.lang.ClassNotFoundException: ch.qos.lorgback.classic.PatternLayout问题解决

    引言: 诡异而少见的java.lang.ClassNotFoundException: ch.qos.lorgback.classic.PatternLayout异常错误信息,在启动的时候,出现了异常 ...

  4. ERROR in ch.qos.logback.core.joran.action.AppenderRefAction - See http://logback.qos.ch/codes.html#a

    错误信息: java.lang.IllegalStateException: Logback configuration error detected: ERROR in ch.qos.logback ...

  5. logback报错:ERROR in ch.qos.logback.core.joran.conditional.IfAction

    报错信息如下 Logging system failed to initialize using configuration from 'null' java.lang.IllegalStateExc ...

  6. java编译错误 程序包javax.servlet不存在javax.servlet.*

    java编译错误 程序包javax.servlet不存在javax.servlet.* 编译:javac Servlet.java 出现 软件包 javax.servlet 不存在 软件包javax. ...

  7. 解决java编译错误(程序包javax.servlet不存在javax.servlet.*)

    解决java编译错误(程序包javax.servlet不存在javax.servlet.*) 两种解决方法 第一种: 1.在电脑搜索servlet-api.jar 一般在apache-tomcat-8 ...

  8. javax.servlet.jsp.*和javax.servlet.http.*

    当在项目中报错为:javax.servlet.jsp.*时,这时说明需要jsp-api.jar. 如果报错信息为:javax.servlet.http.*时,这时说明需要servlet-api.jar ...

  9. java编译错误:程序包javax.servlet不存在javax.servlet.*

    今天在关于servlet的编译中出现了一下小小的错误,如图所示: 程序包javax.servlet不存在,并且程序包javax.servlet.http不存在等错误.我查阅了一下资料由于servlet ...

最新文章

  1. android 广播机制
  2. Linux入门——文件管理
  3. java数据生成excel_Java 数据库数据生成Excel
  4. 使用Spring MVC开发Restful Web服务
  5. 【转】.NET程序内存分析工具CLRProfiler的使用
  6. [2] ADB 基本用法
  7. canvas笔记-在canvas中使用其他HTML元素
  8. storm能不能测试wadl_测试网红燃油宝到底能不能除积碳,看完不花冤枉钱
  9. radius java_Java处理Radius access-challenge
  10. 190720每日一句
  11. 结构体做函数参数的进阶:嵌套一二级指针
  12. 学会编单片机必须会c语言吗,十天学会单片机和C语言编程.docx
  13. QAM调制原理_QAM调制:4/5G中各种调制方式基础,均由两条正弦波变化并勾勒出...
  14. “无线射频识别”可节省1/3物流成本
  15. 传智健康(黑马项目)
  16. C++Primer_Chap16_模板和泛型编程_List01_定义模板_笔记
  17. Android 实现动态背景“五彩蛛网”特效,让你大开眼界!
  18. install pecl php_pecl安装以前的php版本
  19. 大数据决策的误区案例之一
  20. SwapMix: Diagnosing and Regularizing the Over-Reliance on Visual Context in ... ——2022 CVPR 论文笔记

热门文章

  1. python枚举是什么意思_什么是枚举python
  2. php活体检测,人脸门禁系统中活体检测的必要性
  3. 吉米_王:浅谈“并行计算”
  4. 知云文献翻译打不开_英文PDF文献翻译神器-知云文献翻译
  5. 有源晶振引脚接法是什么样的?
  6. 25 岁,毕业写前端的这三年,多益网络java面试
  7. C# 给PDF签名时添加时间戳的2种方法(附VB.NET代码)
  8. 东北大学秦皇岛分校通信工程中外合作2020级C语言实验3
  9. 常见问题:try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候执行?
  10. Springboot旧衣捐赠平台设计与实现 p40x5计算机毕业设计-课程设计-期末作业-毕设程序代做