1. 程式人生 > >maven 執行tomcat:run 錯誤;JasperLoader HttpServletRequest

maven 執行tomcat:run 錯誤;JasperLoader HttpServletRequest

開發十年,就只剩下這套架構體系了! >>>   

java.lang.LinkageError: loader constraint violation: 
loader (instance of org/apache/jasper/servlet/JasperLoader) 
previously initiated loading for a different type with name "javax/servlet/http/HttpServletRequest"

原因:javax.servlet這個jar包衝突(每個web容器都會提供這樣一個名為javax.servlet.jar的jar包)

解決辦法:1、檢查 引用包

                 2、新增 <scope>provided</scope>

<dependency>
  <groupId>javax.servlet</groupId>
  <artifactId>servlet-api</artifactId>
  <version>2.5</version>
  <scope>provided</scope>
</dependency>
type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: java.lang.LinkageError: loader constraint violation: loader (instance of org/apache/jasper/servlet/JasperLoader) previously initiated loading for a different type with name "javax/servlet/http/HttpServletRequest"
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:268)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
root cause

java.lang.LinkageError: loader constraint violation: loader (instance of org/apache/jasper/servlet/JasperLoader) previously initiated loading for a different type with name "javax/servlet/http/HttpServletRequest"
	java.lang.Class.getDeclaredMethods0(Native Method)
	java.lang.Class.privateGetDeclaredMethods(Class.java:2436)
	java.lang.Class.getDeclaredMethods(Class.java:1793)
	org.apache.catalina.util.DefaultAnnotationProcessor.processAnnotations(DefaultAnnotationProcessor.java:226)
	org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:148)
	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:329)
	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:717)