tomcat - HTTP 状态 500 - oracle.adfinternal.controller.faces.context.StubJSFPageLifecycleContext 无法转换为

标签 tomcat oracle-adf jdeveloper

我们正在使用 Oracle ADF (jdeveloper 11.1.2.4) 开发 Web 应用程序。我们需要在tomcat6.x上运行这些应用程序。我们已经使用帖子ADF Essentials on tomcat设置了tomcat6.x环境。

我们只能在 tomcat 上运行一个应用程序。意味着如果我们只部署一个应用程序,它就会在浏览器上成功运行,一切都很好。每当我们尝试部署多个应用程序时,tomcat 服务器控制台上都不会出现异常。

但是当我们尝试打开像 http://localhost:1234/E/faces/j.jsf 这样的页面时它给出以下错误。

HTTP Status 500 - oracle.adfinternal.controller.faces.context.StubJSFPageLifecycleContext cannot be cast to oracle.adf.controller.faces.context.FacesPageLifecycleContext
exception

java.lang.ClassCastException: oracle.adfinternal.controller.faces.context.StubJSFPageLifecycleContext cannot be cast to oracle.adf.controller.faces.context.FacesPageLifecycleContext
    oracle.adfinternal.controller.application.model.UpdateBindingListener.beforePhase(UpdateBindingListener.java:66)
    oracle.adfinternal.controller.lifecycle.ADFLifecycleImpl$PagePhaseListenerWrapper.beforePhase(ADFLifecycleImpl.java:550)
    oracle.adfinternal.controller.lifecycle.LifecycleImpl.internalDispatchBeforeEvent(LifecycleImpl.java:100)
    oracle.adfinternal.controller.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:191)
    oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener.access$200(ADFPhaseListener.java:23)
    oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener$PhaseInvokerImpl.startPageLifecycle(ADFPhaseListener.java:232)
    oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener$1.after(ADFPhaseListener.java:274)
    oracle.adfinternal.controller.faces.lifecycle.ADFPhaseListener.afterPhase(ADFPhaseListener.java:75)
    oracle.adfinternal.controller.faces.lifecycle.ADFLifecyclePhaseListener.afterPhase(ADFLifecyclePhaseListener.java:53)
    oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:447)
    oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:202)
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:508)
    oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:173)
    oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:125)
    org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:468)
    oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
    org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:468)
    org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:293)
    org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:199)
    org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)

请帮助我们。我们必须在 tomcat 6.x 上部署并成功运行多个 adf 应用程序。

最佳答案

可能与此处发布的问题相同:https://community.oracle.com/thread/724037?start=15&tstart=0

简而言之,正确答案是:

I cannot say for sure, but this sounds like you have the same library placed in both web application library folder and Tomcat common library directory. Depending of where you place those libraries, they will be loaded by application classloader or the parent Tomcat classloader. In other words, I believe that you have one library loaded by webapplication's lib folder instead of having it loaded into the parent classloader. - Florin

关于tomcat - HTTP 状态 500 - oracle.adfinternal.controller.faces.context.StubJSFPageLifecycleContext 无法转换为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30052088/

相关文章:

tomcat - 如何管理 Tomcat 发布/部署以将 Tomcat6 的停机时间降至最低

java - ADF 皮肤样式加载错误的类

jersey - 包 javax.annotation.security 不存在

tomcat - 在启动时覆盖 Tomcat 默认值

tomcat 在停止部署启动过程中等待几秒钟是否必要?

java - ORA-01858 : a non-numeric character was found where a numeric was expected in Oracle ADF

css - 如何使用 adf 更改字体系列

java - 动态更改树选择的显示形式

java - 在 Morena 7 中将扫描仪设置为 WIACAMERA

java - 在 Tomcat 应用程序中的 shell 脚本/访问中设置环境变量