tomcat7:run ClassCastException解决
来源:互联网 发布:java多线程运用场景 编辑:程序博客网 时间:2024/05/23 14:02
idea使用maven创建的ssm工程,添加插件,使用tomcat7:run时出现如下异常
java.util.concurrent.ExecutionException: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[/Management]]at java.util.concurrent.FutureTask.report(FutureTask.java:122)at java.util.concurrent.FutureTask.get(FutureTask.java:192)at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123)at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:800)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)at java.util.concurrent.FutureTask.run(FutureTask.java:266)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)at java.lang.Thread.run(Thread.java:748)Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Tomcat].StandardHost[localhost].StandardContext[/Management]]at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)... 6 moreCaused by:java.lang.ClassCastException: org.springframework.web.SpringServletContainerInitializer cannot be cast to javax.servlet.ServletContainerInitializerat org.apache.catalina.startup.ContextConfig.getServletContainerInitializer(ContextConfig.java:1670)at org.apache.catalina.startup.ContextConfig.getServletContainerInitializers(ContextConfig.java:1652)at org.apache.catalina.startup.ContextConfig.processServletContainerInitializers(ContextConfig.java:1562)at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1270)at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:878)at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:376)at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:119)at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5322)at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)... 6 more
其中有一个原因是:
org.springframework.web.SpringServletContainerInitializer cannot be cast to javax.servlet.ServletContainerInitializer
即:javax.servlet.ServletContainerInitializer不能转换成org.springframework.web.SpringServletContainerInitializer。
主要是使用tomcat7:run 是使用的包冲突了
这个时候可检查:pom.xml中与jsp与servlet相关的部分
比如
<!-- JSP相关 --> <dependency> <groupId>jstl</groupId> <artifactId>jstl</artifactId> <version>${jstl.version}</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.0.1</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.1</version> <scope>provided</scope> </dependency>
如果出现了这个bug,可以检查这些节点中有没有
<scope>provided</scope>这一条属性
至于scope的值 可以参考http://blog.csdn.net/daihui05/article/details/7476976 ,这里不做多介绍。另外这个也有可能是引用包不对:比如当我使用验证码包:
<!--验证码--> <dependency> <groupId>com.github.penggle</groupId> <artifactId>kaptcha</artifactId> <version>${kaptcha.version}</version> </dependency>
它依赖的包不是:
<dependency> <groupId>jstl</groupId> <artifactId>jstl</artifactId> <version>${jstl.version}</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>3.0.1</version> <!--<scope>provided</scope>--> </dependency> <dependency> <groupId>javax.servlet.jsp</groupId> <artifactId>jsp-api</artifactId> <version>2.1</version> <scope>provided</scope> </dependency>
而是
<!-- JSP相关 --> <dependency> <groupId>jstl</groupId> <artifactId>jstl</artifactId> <version>${jstl.version}</version> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.5</version> <scope>provided</scope> </dependency> <dependency> <groupId>javax.servlet</groupId> <artifactId>jsp-api</artifactId> <version>2.0</version> <scope>provided</scope> </dependency>
阅读全文
0 0
- tomcat7:run ClassCastException解决
- tomcat7:run配置
- tomcat7 HTTP Status 500 - java.lang.ClassCastException
- Tomcat7 Debug run in ecplise
- 关于maven+SSM的一个错误解决Failed to execute goal org.apache.tomcat.maven:tomcat7-maven-plugin:2.2:run
- 访问tomcat7 java.lang.ClassCastException: org.apache.jasper.el.ELContextImpl
- 访问tomcat7 java.lang.ClassCastException: org.apache.jasper.el.ELContextImpl
- 访问tomcat7 java.lang.ClassCastException: org.apache.jasper.el.ELContextImpl
- maven tomcat7:run 内存溢出处理
- 解决tomcat7中文乱码
- ClassCastException
- ClassCastException
- ClassCastException
- ClassCastException
- ClassCastException
- weblogic报java.lang.ClassCastException之解决
- Kettle插件开发ClassCastException 解决思路
- listView多布局出现ClassCastException的解决
- 小白学PyQt5(2):Hello World
- 开启全站HTTPS时代-Nginx SSL+tomcat集群
- 月考核复习重点
- HDOJ 2017 ,祝你AC
- python3 XML转Json
- tomcat7:run ClassCastException解决
- java实现不固定行列数excel导出
- C语言整数的因式分解
- 何为泛型擦除
- zipimport.ZipImportError: can't decompress data; zlib not available 解决
- ARM GUN汇编标准
- ListIterator的双向遍历
- 产看系统硬件版本位数,查看操作系统版本,查看内核版本
- ArcGIS连接自编译PostgreSQL数据库