Richfaces 3.x تحت WebLogic 8.1
-
20-09-2019 - |
سؤال
لقد قمت بتطوير مشروع صغير يهدف إلى الركض تحت WebLogic 8.1. ينص Richfaces وفقًا للتوثيق على أنه يدعم WebLogic 8.1.
يستخدم WebLogic 8.1 مواصفات Servlet 2.3 مع JSP 1.2 الذي كان يعمل على الإصدار المثبت محليًا من WebLogic 8.1 ولكن عند الانتشار إلى SPARC Server ، أبدأ في تشغيل المتاعب. لقد عملت من خلال بعض الصداع الأولي ، ولكن بعد ذلك حصلت على خطأ 500 ولم أستطع الحصول على التفاصيل. لكن بعد بعض الجهد ، خرجت بهذا ...
javax.servlet.ServletException: javax/servlet/jsp/JspContext at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:344) at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:346) at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:152) at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108) at org.ajax4jsf.application.AjaxViewHandler.renderView(AjaxViewHandler.java:216) at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:107) at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:245) at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:137) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:214) at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1072) at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27) at org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141) at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6987) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121) at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3892) at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2766) at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224) at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
JspContext
ليس جزءًا من JSP 1.2 إنه أحدث. أعتقد أن هذا الاستثناء هو في الأصل ClassNotFoundException
أو شيء مشابه بالنظر إلى الرسالة. لا يوجد "سبب" مرتبط بالاستثناء.
فيما يلي ملفات JAR الموجودة في تطبيق الويب الخاص بي.
antlr-2.7.6.jar asm-1.5.3.jar asm-attrs-1.5.3.jar cglib-2.1_3.jar commons-beanutils-1.6.jar commons-collections-3.2.jar commons-digester-1.5.jar commons-lang-2.4.jar commons-logging-1.0.3.jar dom4j-1.6.1.jar ehcache-1.2.3.jar hibernate-3.2.4.sp1.jar jsf-api-1.1_02.jar jsf-impl-1.1_02.jar jstl-1.0.jar jta-1.1.jar log4j-1.2.15.jar richfaces-api-3.1.6.SR1.jar richfaces-impl-3.1.6.SR1.jar richfaces-ui-3.1.6.SR1.jar xercesImpl-2.9.1.jar xml-apis-1.3.04.jar
أنا نفاد الخيارات ، سأحاول معرفة من لديه الاعتماد على JspContext
الفصل ... ولكن إذا كان شخص ما يمكن أن يعطيني بعض البصيرة ، فسيكون موضع تقدير كبير. أوه ، لا يمكنني إجراء العديد من التغييرات على خادم إنتاج الويب. أفضل عدم إجراء أي شيء على الإطلاق ، فمن المحتمل أن تكون تلك التغييرات denied
أوه ، يحدث هذا الخطأ عند محاولة عرض الصفحة ، لذلك ينجح النشر.
المحلول
حسنًا ، لقد حلت مشكلتي. ليست الطريقة التي أردت بها ولكنها تعمل (على الأقل لما أعرفه الآن).
بعد استخدام Google (مرة أخرى) ، وجدت تعليقًا مع شخص يذكر باستخدام Richfaces 3.0.1. الآن رأيت الكثير من الناس يقولون استخدام الإصدار xxx حتى 3.3.x. بعد كل شيء ، قمت بعمله مع 3.1.6 ولكن في إصدار Windows من WebLogic (والذي ربما كان من الممكن أن يكون ملوثًا من خلال نسخة أخرى قمت بتثبيتها).
لذلك قمت بتعديل بوم لي أن يعتمد Maven على:
<groupId>org.richfaces</groupId> <artifactId>richfaces</artifactId> <version>3.0.1</version>
هذا ليس الأمثل ، لكنني يعمل. تحتاج بعض المراجع Taglibrary إلى تغيير ، وتغيرت الحزم إلى حد ما.
يمكنني نشر تكوين مشروعي لهذا إذا احتاجه أي شخص. لم يكن الحصول على كل هذا للعمل على WebLogic 8.1 مستقيمًا للأمام. لكن الوثائق المرجعية لـ 3.1.6 هي على حد علمي غير صحيحة بقولها لدعم WebLogic 8.1
نصائح أخرى
jsp-api-2.1.jar
يحتوي على الفصل المفقود ، بحيث يمكنك محاولة استخدامه (إما استبداله في Weblogic ، أو حاول في /lib) ، لكن لا يمكنني التنبؤ بما سيحدث.