发布web项目发布到tomcat正常,部分页面可访问,部分报java.lang.LinkageError、instance of java/net/URLClassLoader错误

org.apache.jasper.JasperException: javax.servlet.ServletException: java.lang.LinkageError: loader constraint violation: when resolving method “org.apache.jasper.runtime.InstanceManagerFactory.getInstanceManager(Ljavax/servlet/ServletConfig;)Lorg/apache/tomcat/InstanceManager;” the class loader (instance of org/apache/jasper/servlet/JasperLoader) of the current class, org/apache/jsp/WEB_002dINF/pages/mobile/rcmd/rcmdAdd_jsp, and the class loader (instance of java/net/URLClassLoader) for resolved class, org/apache/jasper/runtime/InstanceManagerFactory, have different Class objects for the type .getInstanceManager(Ljavax/servlet/ServletConfig;)Lorg/apache/tomcat/InstanceManager; used in the signature

运行环境

jdk版本:1.7
maven:3.5
tomcat.7.0.105
idea版本:2020.2.1

问题

发布web项目发布到tomcat正常,部分页面可访问,部分报错。
错误信息:
javax.servlet.ServletException: java.lang.LinkageError: loader constraint violation: when resolving method “org.apache.jasper.runtime.InstanceManagerFactory.getInstanceManager(Ljavax/servlet/ServletConfig;)Lorg/apache/tomcat/InstanceManager;” the class loader (instance of org/apache/jasper/servlet/JasperLoader) of the current class, org/apache/jsp/WEB_002dINF/pages/mobile/rcmd/rcmdAdd_jsp, and the class loader (instance of java/net/URLClassLoader) for resolved class, org/apache/jasper/runtime/InstanceManagerFactory, have different Class objects for the type .getInstanceManager(Ljavax/servlet/ServletConfig;)Lorg/apache/tomcat/InstanceManager; used in the signature。
发布web项目发布到tomcat正常,部分页面可访问,部分报java.lang.LinkageError、instance of java/net/URLClassLoader错误

解决过程

百度很多结果都是是项目中的jar和tomcat的jar重复了。如:servlet-api
jstl-1.2.jar
jsp-api-2.1-6.1.14.jar
jsp-2.1-6.1.14.jar
jsf-impl.jar
jsf-api.jar
jsr305-1.3.9.ja等等。
以上是针对不同异常的解决方法,我遇到的问题并不是这些原因导致的。

错误原因

jar包冲突?报错信息是说有不同的类型。。。

解决方法

把tomcat.7.0.105升级到tomcat8!
把tomcat.7.0.105升级到tomcat8!
把tomcat.7.0.105升级到tomcat8!