2010-02-15 1 views
1

Я разрабатываю небольшой проект, предназначенный для работы под weblogic 8.1. В Richfaces согласно документации указано, что он поддерживает weblogic 8.1.Richfaces 3.x под weblogic 8.1

Weblogic 8.1 использует спецификацию сервлета 2.3 с помощью jsp 1.2 Это работает над моей локально установленной версией weblogic 8.1, но при развертывании на сервере sparc я начинаю сталкиваться с проблемами. Я проработал некоторые из начальных головных болей, но потом я получил ошибку 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

О, эта ошибка возникает при попытке просмотреть страницу, поэтому развертывание выполнено успешно.

+1

thanx для переформатирования :) Я принял к сведению изменения. – guyumu

ответ

2

Хорошо, я решил свою проблему. Не так, как я хотел, но он работает (по крайней мере, к тому, что я знаю прямо сейчас).

После использования google (снова) я нашел комментарий с кем-то, упоминающим использование richfaces 3.0.1. Теперь я видел, как многие говорят, что используйте версию xxx даже 3.3.x. В конце концов, я получил его работу с 3.1.6, но в версии weblogic на Windows (которая, возможно, была испорчена другой версией веб-журнала, которую я установил).

Так что я изменил мой POM для Maven зависит от:

 
      <groupId>org.richfaces</groupId> 
      <artifactId>richfaces</artifactId> 
      <version>3.0.1</version> 

Это не является оптимальным, но я geuss это работает. Некоторые ссылки на бирки нуждались в изменении, и пакеты в какой-то мере менялись.

Я мог бы опубликовать мою конфигурацию проекта для этого, если кому-нибудь это понадобится. Получение всего этого для работы в weblogic 8.1 не было прямым. Но справочная документация для 3.1.6, насколько мне известно, неверна, говоря, что она поддерживает weblogic 8.1

+0

Документация RichFaces 3.3.x (четко заявляет, что RichFaces требует WebLogic 9.1 или 10.0 (http://docs.jboss.org/richfaces/3.3.2.GA/en/devguide/html/TechnicalRequirements.html). Я думаю, что они ввели что-то в 3.1.6 (или ранее), которые сломали Weblogic 8.1 без обновления документации. Спасибо за ответ. –

1

jsp-api-2.1.jar содержит отсутствующий класс, поэтому вы можете попробовать его использовать (замените его в веблогике или попробуйте в своем/lib), но я не могу предсказать, что произойдет.

+0

странно, как сервер uat упал, когда я это сделал. Я собираюсь попытаться объединиться с этой идеей, но я согласен ... результаты могут быть отрывочными. Thanx – guyumu

+0

Проблема с weblogic 8.1 - это ... он по-прежнему запускает jdk 1.4 :(и если я не построю собственную версию jsp-api-2.1, это не сработает. Спасибо, хотя – guyumu