خطأ في تطبيق الويب Java - لا أستطيع أن أفهم لماذا يحدث الآن

StackOverflow https://stackoverflow.com/questions/2237034

سؤال

أنا أستخدم Eclipse ويمكنني إنشاء WebApp ونشره إلى JBOSS4.2.1. كان يعمل سابقا وأنا لم أغير أي شيء على نطاق واسع لجعل هذا الخطأ يأتي. عندما أذهب إلى WebApp Thru My Browser، سبق أن تم تسجيل الدخول باستخدام اسم مستخدم عام ثم يمكنني استخدام WebApp كالمعتاد.

الآن عندما أذهب إلى WebApp Thru The Browser، يحدث هذا الخطأ مرارا وتكرارا ولن يظهر أي شيء. هنا هو الخطأ الذي أتلقى:

07:55:06,174 INFO  [security] User '' attempting login via SiteMinder...
07:55:06,174 INFO  [security] User '' attempting login via SiteMinder...
07:55:06,174 ERROR [[jsp]] Servlet.service() for servlet jsp threw exception
java.lang.LinkageError: Class javax/el/ExpressionFactory violates loader constraints
    at org.apache.jsp.WEB_002dINF.jsp.layout.header_jsp._jspx_meth_c_005fset_005f0(header_jsp.java:207)
    at org.apache.jsp.WEB_002dINF.jsp.layout.header_jsp._jspx_meth_c_005fif_005f0(header_jsp.java:179)
    at org.apache.jsp.WEB_002dINF.jsp.layout.header_jsp._jspService(header_jsp.java:82)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:387)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:687)
    at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:590)
    at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
    at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:968)
    at org.apache.jasper.runtime.PageContextImpl.doInclude(PageContextImpl.java:643)
    at org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:637)
    at net.sourceforge.stripes.tag.layout.LayoutRenderTag.doEndTag(LayoutRenderTag.java:122)
    at org.apache.jsp.WEB_002dINF.jsp.layout.layout_jsp._jspx_meth_stripes_005flayout_002drender_005f0(layout_jsp.java:796)
    at org.apache.jsp.WEB_002dINF.jsp.layout.layout_jsp._jspx_meth_stripes_005flayout_002dcomponent_005f2(layout_jsp.java:759)
    at org.apache.jsp.WEB_002dINF.jsp.layout.layout_jsp._jspService(layout_jsp.java:200)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:387)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:687)
    at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:590)
    at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:505)
    at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:968)
    at org.apache.jasper.runtime.PageContextImpl.doInclude(PageContextImpl.java:643)
    at org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:637)
    at net.sourceforge.stripes.tag.layout.LayoutRenderTag.doEndTag(LayoutRenderTag.java:122)
    at org.apache.jsp.view.public_.login_jsp._jspService(login_jsp.java:335)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:387)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at net.sourceforge.stripes.controller.StripesFilter.doFilter(StripesFilter.java:180)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.springframework.orm.jpa.support.OpenEntityManagerInViewFilter.doFilterInternal(OpenEntityManagerInViewFilter.java:112)
    at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:265)
    at org.acegisecurity.ui.switchuser.SwitchUserProcessingFilter.doFilter(SwitchUserProcessingFilter.java:341)
    at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
    at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:107)
    at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:72)
    at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
    at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110)
    at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
    at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:110)
    at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
    at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:125)
    at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
    at org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:81)
    at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
    at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:229)
    at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
    at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:229)
    at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
    at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:286)
    at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:275)
    at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:149)
    at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:98)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
    at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
    at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Thread.java:595)

سيتم تقدير أي مساعدة إلى حد كبير.

هل كانت مفيدة؟

المحلول

من المحتمل أن تكون الفئة وقت التشغيل ملوثة بالإصدارات المكررة و / أو مختلفة من إصدارات EL API.

عادة، يتم شحن البر api بالفعل مع servletcontainer / appserver في السؤال. يجب عليك في ذلك مستحيل نسخ / مكررة / نقل مكتباتها في مكان آخر، مثل WebApp /WEB-INF/lib أو أكثر أسوأ جير /lib. وبعد قم بتنظيف ClassPath من جميع ملفات الفئات / الجرة المكررة و / أو مختلفة. قد يؤدي ذلك إلى استثناءات مثل هذا.

خطأ شائع بين المبتدئين هو أنهم نسخوا مكتبات servletcontainer / appserver في /WEB-INF/lib لأنهم حصلوا على أخطاء تجميع في IDE (javax.servlet غير موجود وما إلى ذلك). نسخ المكتبات هو خاطئ - ظلم - يظلم المحلول. يجب أن تدمج الخادم في نفس IDE وتكوين مشروع IDE المرجع المراد مرجعي / ربط الخادم المعني بحيث يأخذ IDE إلى مكتباتها تلقائيا في BuildPath المشروع.

نصائح أخرى

أنا متأكد من أن لديك ولكن إعادة تشغيل خدماتك ...

تشير Googling قليلا حولها، أن التطبيقات الأخرى لها مشاكل مماثلة، عادة ما تكون بسبب بعض مشاكل التوافق مع المكتبات الإلكترونية. قد تتحقق من ذلك.

واجهت استثناء مماثل على الرغم من أنه في سياق مختلف تماما يجب أن يكون صالحا هنا أيضا.

عادة ما يعني هذا أن لديك أكثر من نسخة من الطبقة المخالفة في Classpath.

سأحاول أن أجد ما إذا كان JAVAX.EL.EXFACTRASTORY.Class موجود عدة مرات. (قد يكون هناك في LIB الخادم وكذلك التطبيقات LIB)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top