Cannot cast ch.qos.logback.classic.servlet.LogbackServletContainerInitializer to javax.servlet.Servl
问题描述
- 我采用了Servlet3.X,新增加了SPI加载机制,会自动扫描
classpath:META-INF/services/javax.servlet.ServletContainerInitializer
中的所有这个文件,并加载其中的所有javax.servlet.ServletContainerInitializer
的实现类,实现替换web.xml的功能,让你的项目war可以不需要web.xml也能正常在tomcat运行。 - 然后呢,日志我采用了logback,这个jar中
ch.qos.logback.classic.servlet.LogbackServletContainerInitializer
就实现了javax.servlet.ServletContainerInitializer
,因此tomcat在启动时就会自动加载这个类初始化一些配置。 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相关推荐
- 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 ...
- SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelecto
标签: Java日志方案有很多,包括:java.util.logging.Apache的commons-logging和log4j.slf4j以及logback. 一个大型项目会用到众多第三方jar包 ...
- Web项目中诡异的java.lang.ClassNotFoundException: ch.qos.lorgback.classic.PatternLayout问题解决
引言: 诡异而少见的java.lang.ClassNotFoundException: ch.qos.lorgback.classic.PatternLayout异常错误信息,在启动的时候,出现了异常 ...
- 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 ...
- logback报错:ERROR in ch.qos.logback.core.joran.conditional.IfAction
报错信息如下 Logging system failed to initialize using configuration from 'null' java.lang.IllegalStateExc ...
- java编译错误 程序包javax.servlet不存在javax.servlet.*
java编译错误 程序包javax.servlet不存在javax.servlet.* 编译:javac Servlet.java 出现 软件包 javax.servlet 不存在 软件包javax. ...
- 解决java编译错误(程序包javax.servlet不存在javax.servlet.*)
解决java编译错误(程序包javax.servlet不存在javax.servlet.*) 两种解决方法 第一种: 1.在电脑搜索servlet-api.jar 一般在apache-tomcat-8 ...
- javax.servlet.jsp.*和javax.servlet.http.*
当在项目中报错为:javax.servlet.jsp.*时,这时说明需要jsp-api.jar. 如果报错信息为:javax.servlet.http.*时,这时说明需要servlet-api.jar ...
- java编译错误:程序包javax.servlet不存在javax.servlet.*
今天在关于servlet的编译中出现了一下小小的错误,如图所示: 程序包javax.servlet不存在,并且程序包javax.servlet.http不存在等错误.我查阅了一下资料由于servlet ...
最新文章
- android 广播机制
- Linux入门——文件管理
- java数据生成excel_Java 数据库数据生成Excel
- 使用Spring MVC开发Restful Web服务
- 【转】.NET程序内存分析工具CLRProfiler的使用
- [2] ADB 基本用法
- canvas笔记-在canvas中使用其他HTML元素
- storm能不能测试wadl_测试网红燃油宝到底能不能除积碳,看完不花冤枉钱
- radius java_Java处理Radius access-challenge
- 190720每日一句
- 结构体做函数参数的进阶:嵌套一二级指针
- 学会编单片机必须会c语言吗,十天学会单片机和C语言编程.docx
- QAM调制原理_QAM调制:4/5G中各种调制方式基础,均由两条正弦波变化并勾勒出...
- “无线射频识别”可节省1/3物流成本
- 传智健康(黑马项目)
- C++Primer_Chap16_模板和泛型编程_List01_定义模板_笔记
- Android 实现动态背景“五彩蛛网”特效,让你大开眼界!
- install pecl php_pecl安装以前的php版本
- 大数据决策的误区案例之一
- SwapMix: Diagnosing and Regularizing the Over-Reliance on Visual Context in ... ——2022 CVPR 论文笔记
热门文章
- python枚举是什么意思_什么是枚举python
- php活体检测,人脸门禁系统中活体检测的必要性
- 吉米_王:浅谈“并行计算”
- 知云文献翻译打不开_英文PDF文献翻译神器-知云文献翻译
- 有源晶振引脚接法是什么样的?
- 25 岁,毕业写前端的这三年,多益网络java面试
- C# 给PDF签名时添加时间戳的2种方法(附VB.NET代码)
- 东北大学秦皇岛分校通信工程中外合作2020级C语言实验3
- 常见问题:try {}里有一个return语句,那么紧跟在这个try后的finally {}里的code会不会被执行,什么时候执行?
- Springboot旧衣捐赠平台设计与实现 p40x5计算机毕业设计-课程设计-期末作业-毕设程序代做