Вопрос

Я разрабатываю небольшой проект, предназначенный для работы под управлением weblogic 8.1.Richfaces согласно документации утверждает, что поддерживает 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

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

Это было полезно?

Решение

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

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

Итак, я изменил свой pom для 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), но я не могу предсказать, что произойдет.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top