have different Class objects for the type javax...

在测试spring-mvc-showcase的时候出现如下log:

HTTP Status 500 -

 

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: 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)

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)

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>

排除即可!

你可能感兴趣的:(have different Class objects for the type javax...)