have different Class objects for the type javax...

在測試spring-mvc-showcase的時候出現以下log:java

HTTP Status 500 -web

 

type Exception reportspring

 

messageapache

 

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

 

exceptionspring-mvc

 

javax.servlet.ServletException: java.lang.LinkageError: loader constraint violation: when resolving interface method "javax.servlet.jsp.JspApplicationContext.getExpressionFactory()Ljavax/el/ExpressionFactory;" the class loader (instance of org/apache/jasper/servlet/JasperLoader) of the current class, org/apache/jsp/WEB_002dINF/views/home_jsp, and the class loader (instance of org/apache/catalina/loader/StandardClassLoader) for resolved class, javax/servlet/jsp/JspApplicationContext, have different Class objects for the type javax/el/ExpressionFactory used in the signature服務器

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:342)mvc

javax.servlet.http.HttpServlet.service(HttpServlet.java:722)app

org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238)jsp

org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)

org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1120)

org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:890)

org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:792)

org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:851)

org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:756)

javax.servlet.http.HttpServlet.service(HttpServlet.java:621)

javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

org.springframework.mvc.extensions.flash.FlashMapFilter.doFilterInternal(FlashMapFilter.java:33)

org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

root cause

 

java.lang.LinkageError: loader constraint violation: when resolving interface method "javax.servlet.jsp.JspApplicationContext.getExpressionFactory()Ljavax/el/ExpressionFactory;" the class loader (instance of org/apache/jasper/servlet/JasperLoader) of the current class, org/apache/jsp/WEB_002dINF/views/home_jsp, and the class loader (instance of org/apache/catalina/loader/StandardClassLoader) for resolved class, javax/servlet/jsp/JspApplicationContext, have different Class objects for the type javax/el/ExpressionFactory used in the signature

org.apache.jsp.WEB_002dINF.views.home_jsp._jspInit(home_jsp.java:26)

org.apache.jasper.runtime.HttpJspBase.init(HttpJspBase.java:49)

org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:171)

org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:356)

org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)

org.apache.jasper.servlet.JspServlet.service(JspServlet.java:333)

javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238)

org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)

org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1120)

org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:890)

org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:792)

org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:851)

org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:756)

javax.servlet.http.HttpServlet.service(HttpServlet.java:621)

javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

org.springframework.mvc.extensions.flash.FlashMapFilter.doFilterInternal(FlashMapFilter.java:33)

org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)

note The full stack trace of the root cause is available in the SpringSource tc Runtime 2.5.0.RELEASE/7.0.12.A.RELEASE logs.

 

SpringSource tc Runtime 2.5.0.RELEASE/7.0.12.A.RELEASE

 

很明顯是項目的el庫與Web服務器(SpringSource tc)中el庫衝突了.

刪除項目的el庫,便可,若是是maven項用代碼

<exclusions>

<exclusion>

<artifactId>el-api</artifactId>

<groupId>javax.el</groupId>

</exclusion>

</exclusions>

排除便可!

相關文章
相關標籤/搜索