错误信息如下:
org.apache.jasper.JasperException: java.lang.ClassCastException: org.apache.catalina.util.DefaultAnnotationProcessor cannot be cast to org.apache.AnnotationProcessor
错误原因:
1、 当项目中引用tomcat目录下面的lib下面的catalina.jar的时候,用myeclipse将项目部署到tomcat下面的时候,会将catalina.jar包加到项目的web-inf下面的lib文件夹下面,这样这个包就会和tomcat下面的lib下面的catalina.jar包冲突会报java.lang.ClassCastException: org.apache.catalina.util.DefaultAnnotationProcessor冲突导致的转换异常
2、是因为Tomcat中catalina.jar和jasper.jar都有AnnotationProcessor接口都会导致该错误
解决方案:
1、不用该jar(与tomcat重复的全部删除)
2、在tomcat/conf/context.xml中的context节点添加< Loader delegate=”true” />
我在项目中(tomcat webapps下的项目)删除的jar包为:
el-api.jar
jasper.jar
servlet-api.jar
catalina.jar
jsp-api.jar