0

我们为由jdeveloper 12.2.1.1.0开发的巨大ADF应用程序提供了一个支柱设计。只是我们分开我们的业务分成许多的工作区如下:java.lang.ClassNotFoundException:ADF 12c中的oracle.adf.view.rich.component.rich.RichPopup

  • SharedUI.jar:包括皮肤,模板,声明组件,JS等
  • SharedCode.jar:包含核心类和框架扩展类
  • xxxxxFinance.ear::我们的工作空间(有SharedUI.jar和SharedCode.jar 在视图层项目的附加库)

部署方式之一我们在weblogic上部署了我们的共享jar(SharedUI.jar和SharedCode.jar),并且通过从WEB-INF中关于视图层战争的war/filters中取消选中,将它们从xxxxxFinance.ear中排除,并将jar名称放在weblogic-application中。 XML文件,在这一点上一切都很好,工作正常。

问题: 我们收到抛出java.lang.ClassNotFoundException:oracle.adf.view.rich.component.rich.RichPopup在 每一个页面,我的调查后,我发现,SharedUI项目有一个弹出式在根jsf页面模板内部处理更改密码功能,该功能在存在于sharedCode.jar中的templateMgr类中具有绑定,这对于处理模板活动来说是合理的。

我们尝试:

  1. 将ADF-richclient-API 11.jar在两个 SharedUI.jar和SharedCode.jar连接库。
  2. 确保组件id在所有jsf页面模板中都是唯一的,以避免我们其他项目上的正常jsf页面不明确。

但也没有工作。

最后,我们在模板中散列了该弹出框的标记。那么每件事情都可以很好地回复。

另外 我们将ViewHandler类扩展为customViewHandler来控制我们的语言环境等等。我遇到过有关AdfFacesContext.getCurrentInstance()。isPostback()行的另一个问题。 ORACLE/ADF /视图/富/上下文/ AdfFacesContext java.lang.NoClassDefFoundError:ORACLE/ADF /视图/富/上下文/ AdfFacesContext

这些例外仅示出了在部署阶段(我们的分离从共享罐时,我们的主要工作区并将其部署在weblogic中,并准备战争WEB-INF过滤器和weblogic-application.xml)。我的意思是,当每个项目都将这两个共享的jar作为附加库的开发模式时,每件事情都可以与开发人员一起工作。

如果我们有误解。我想知道在我们的附件或部署方法中是否有缺失或错误。

  • RichPopup异常堆栈

    java.lang.NoClassDefFoundError:ORACLE/ADF /视图/富/组件/富/ RichPopup 在java.lang.Class.getDeclaredMethods0(本机方法) 在java.lang.Class.privateGetDeclaredMethods(Class.java:2701) at Oracle.adDeternal.controller.beans.AnnotationUtils.findAnnotatedMethods(AnnotationUtils.java:211 ) at oracle.adfinternal.controller.be ans.AnnotationUtils.runPostConstructIfSpecified(AnnotationUtils.java:76) 在oracle.adfinternal.controller.beans.ManagedBeanFactory.instantiateBean(ManagedBeanFactory.java:906) 在oracle.adfinternal.controller.application.ManagedBeanELResolver.getValue(ManagedBeanELResolver.java: 147) at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176) at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203) at com.sun.el. parser.AstIdentifier.getValue(AstIdentifier.java:116) at com.sun.el.parser.AstValue.getBase(AstValue.java:150) at com.sun.el.parser.AstValue.getValue(AstValue.java: 199) at com.sun.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:226) at com.sun.faces.facelets.el.TagValueExpression.getValue(TagValueExpression.java:109) at com.sun.faces.application.ApplicationImpl.createComponentApplyAnnotations(ApplicationImpl.java:1943) at com.sun.faces。 application.ApplicationImpl.createComponent(ApplicationImpl.java:1149) at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.createComponent(ComponentTagHandlerDelegateImpl.java:596) at com.sun.faces.facelets.tag.jsf。 ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:175) 在javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120) 在javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95) at javax.faces.view.facelets.DelegatingMetaTagHand ler.applyNextHandler(DelegatingMetaTagHandler.java:137) 在com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:202) 在javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler。 java:120) at com.sun.faces.facelets.tag.jsf.core.FacetHandler.apply(FacetHandler.java:104) at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95) 在javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137) 在com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:202) 在javax.faces。 view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120) at javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95) at javax。com.un.faces.facelets.tag.jsf.core.FacetHandler.apply(FacetHandler.java:104) faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137) at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:202) at javax.faces.view.facelets。 DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120) at oracle.adfinternal.view.faces.faceslets.rich.IncludeDefHandler.apply(IncludeDefHandler。 java:69) at com.sun.faces.facelets.compiler.NamespaceHandler。应用(NamespaceHandler.java:93) at com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:87) at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java: 312) 在com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:371) 在com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:350) 在融为一体。 sun.faces.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:199) at oracle.adfinternal.view.faces.facelets.rich.IncludeHandler.applyNextHandler(IncludeHandler.java:95) at com.sun.faces。 facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:202) at javax.faces.view.facelets.DelegatingMetaTagHandler.apply(Delegati ngMetaTagHandler.java:120) at com.sun.faces.facelets.tag.jsf.core.FacetHandler.apply(FacetHandler.java:104) at javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java: 137) 在com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:202) 在javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120) 在的javax。 faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95) at oracle.adfinternal.view.faces.facelets.rich.IncludeDefHandler.apply(IncludeDefHandler.java:69) at com.sun.faces.facelets。 compiler.NamespaceHandler.apply(NamespaceHandler.java:93) at com.sun.faces.facelets.compiler.Enco dingHandler.apply(EncodingHandler.java:87) at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:312) at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet。 java:371) at com.sun.faces.facelets.impl.DefaultFacelet.include(DefaultFacelet.java:350) at com.sun.faces.facelets.impl.DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:199) at oracle.adfinternal.view.faces.facelets.rich.IncludeHandler.applyNextHandler(IncludeHandler.java:95) at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:202) at javax。在javax.faces.view.facelets.DelegatingMetaT中faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120) agHandler.applyNextHandler(DelegatingMetaTagHandler.java:137) 在com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:202) 在javax.faces.view.facelets.DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler。的java:120) 在javax.faces.view.facelets.CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95) 在javax.faces.view.facelets.DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137) 在oracle.adfinternal。 view.faces.facelets.rich.RichDocumentHandler.applyNextHandler(RichDocumentHandler.java:68) at com.sun.faces.facelets.tag.jsf.ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:202) at javax.faces.view。 facelets.DelegatingMetaTagHandler.apply(DelegatingMet (命名空间处理器)。 java:93) at com.sun.faces.facelets.compiler.EncodingHandler.apply(EncodingHandler.java:87) at com.sun.faces.facelets.impl.DefaultFacelet.apply(DefaultFacelet.java:161) at com.un.faces.application.view.FaceletViewHandlingStrategy.buildView(FaceletViewHandlingStrategy.java:1006) at org.apache.myfaces.trinidad.view.ViewDeclarationLanguageWrapper.buildView(ViewDeclarationLanguageWrapper.java:94) at org.apache.myfaces。 trinidad.view.ViewDeclarationLanguageWrapper.buildView(ViewDeclarationLanguageWrapper.java:94) at org.apache.myfaces.trinidadinternal。application.ViewDeclarationLanguageFactoryImpl $ ChangeApplyingVDLWrapper.buildView(ViewDeclarationLanguageFactoryImpl.java:322) at oracle.adfinternal.view.faces.lifecycle.ResponseRenderManager._processViewDefinitionLanguage(ResponseRenderManager.java:105) at oracle.adfinternal.view.faces.lifecycle.ResponseRenderManager。 runRenderView(ResponseRenderManager.java:41) at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._renderResponse(LifecycleImpl.java:1264) at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executeRenderResponse(LifecycleImpl.java: 1107) 在oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:348) 在oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:258) 在的javax。 faces.web在weblogic.servlet.internal.StubSecurityHelper上使用app.FacesServlet.service(FacesServlet.java:651) $ ServletServiceAction.run(StubSecurityHelper.java:286) at weblogic.servlet.internal.StubSecurityHelper $ ServletServiceAction.run(StubSecurityHelper.java: 260) 在weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:137) 在weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:350) 在weblogic.servlet.internal.TailFilter.doFilter( TailFilter.java:25) 在weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78) 在oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:207) 在weblogic.servlet。 internal.FilterChainImpl.doFilter(FilterChainImpl.java:78) at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:105) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl $ FilterListChain.doFilter(TrinidadFilterImpl.java:529) at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl $ FilterListChain.doFilter(TrinidadFilterImpl.java:529) at org.apache。 myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:354) 在org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:232) 在org.apache.myfaces.trinidad.webapp。 TrinidadFilter.doFilter(TrinidadFilter.java:92) at weblogic.servlet.int ernal.FilterChainImpl.doFilter(FilterChainImpl.java:78) at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:169) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78) at oracle.security.jps.ee.http.JpsAbsFilter $ 1.run(JpsAbsFilter.java:141) at java.security.AccessController.doPrivileged(Native Method) at oracle.security.jps.util.JpsSubject.doAsPrivileged( JpsSubject.java:315) at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:650) at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:124) at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:232) at oracle.security.jps.ee.http.JpsFilter.d oFilter(JpsFilter.java:94) 在weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78) 在oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:248) 在weblogic.servlet。 internal.FilterChainImpl.doFilter(FilterChainImpl.java:78) 在weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:32) 在weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78) 在weblogic.servlet.internal.WebAppServletContext $ ServletInvocationAction.wrapRun(WebAppServletContext.java:3683) at weblogic.servlet.internal.WebAppServletContext $ ServletInvocationAction.run(WebAppServletContext.java:3649) at weblogic.security.acl.internal.AuthenticatedSubject。 DOAS(AuthenticatedSubject。的java:326) 在weblogic.security.service.SecurityManager.runAsForUserCode(SecurityManager.java:197) 在weblogic.servlet.provider.WlsSecurityProvider.runAsForUserCode(WlsSecurityProvider.java:203) 在weblogic.servlet.provider.WlsSubjectHandle。运行(WlsSubjectHandle.java:71) 在weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2433) 在weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2281) 在weblogic.servlet。 internal.WebAppServletContext.execute(WebAppServletContext.java:2259) 在weblogic.servlet.internal.ServletRequestImpl.runInternal(ServletRequestImpl.java:1686) 在weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1646) 在weblogic.servlet.provider.ContainerSupportProviderImpl $ WlsRequestExecutor.run(ContainerSupportProviderImpl.java:270) 在weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:348) 在weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java: 333) 在weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:54) 在weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41) 在weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:640) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:406) at weblogic.work.ExecuteThread.run(ExecuteThread.java:346) 引发:java.lang.ClassNotFoundException:oracle.adf.view.rich.component.rich.RichPopup at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:1025) at weblogic.utils.classloaders.GenericClassLoader .findClass(GenericClassLoader.java:986) 在weblogic.utils.classloaders.GenericClassLoader.doFindClass(GenericClassLoader.java:607) 在weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:539) 在weblogic.utils .classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:492) 在weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:469) ... 131多个

    - AdfFacesContext异常堆栈:

    ORACLE/ADF /图/富/上下文/ AdfFacesContext java.lang.NoClassDefFoundError:甲骨文/ ADF /图/富/上下文/ AdfFacesContext 在com.ntg.erp.core .view.ErpViewHandlerWrapper.renderView(ErpViewHandlerWrapper.java:73) at oracle.adfinternal.view.faces.lifecycle.ResponseRenderManager.runRenderView(ResponseRenderManager.java:52) at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._renderResponse (LifecycleImpl.java:1264) at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executeRenderResponse(LifecycleImpl.java:1107) at oracle.adfinternal.view.faces.lifecycle。 LifecycleImpl._executePhase(LifecycleImpl.java:348) at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:258) at javax.faces.webapp.FacesServlet.service(FacesServlet.java:651) 在weblogic.servlet.internal.StubSecurityHelper $ ServletServiceAction.run(StubSecurityHelper.java:286) 在weblogic.servlet.internal.StubSecurityHelper $ ServletServiceAction.run(StubSecurityHelper.java:260) 在weblogic.servlet.internal.StubSecurityHelper。 invokeServlet(StubSecurityHelper.java:137) 在weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:350) 在weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25) 在weblogic.servlet。 internal.FilterChainImpl.doFilter(FilterChainImpl。的java:78) 在oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:207) 在weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78) 在oracle.adfinternal.view。 faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:105) at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl $ FilterListChain.doFilter(TrinidadFilterImpl.java:529) at oracle.adfinternal.view.faces。 activedata.AdsFilter.doFilter(AdsFilter.java:60) 在org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl $ FilterListChain.doFilter(TrinidadFilterImpl.java:529) 在org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl。 _doFilterImpl(TrinidadFilterImpl.java:354) at org.apache.myfaces.trinida dinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:232) 在org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92) 在weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl。 java:78) at com.ntg.erp.admin.view.servlets.AdminFilter.doFilter(AdminFilter.java:58) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78) at oracle。 adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:169) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78) at oracle.security.jps.ee.http.JpsAbsFilter $ 1.run (JpsAbsFilter.java:141) at java.security.AccessController.doPrivileged(Native Method) at oracle .security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315) at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:650) at oracle.security.jps.ee.http .JpsAbsFilter.runJaasMode(JpsAbsFilter.java:124) at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:232) at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter的.java:94) 在weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78) 在oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:248) 在weblogic.servlet.internal.FilterChainImpl .doFilter(FilterChainImpl.java:78) at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:32) 在weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78) 在weblogic.servlet.internal.WebAppServletContext $ ServletInvocationAction.wrapRun(WebAppServletContext.java:3683) 在weblogic.servlet.internal.WebAppServletContext $ ServletInvocationAction.run (WebAppServletContext.java:3649) 在weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:326) 在weblogic.security.service.SecurityManager.runAsForUserCode(SecurityManager.java:197) 在weblogic.servlet .provider.WlsSecurityProvider.runAsForUserCode(WlsSecurityProvider.java:203) 在weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:71) 在weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2433) 在weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2281) 在weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2259) 在weblogic.servlet.internal.ServletRequestImpl.runInternal(ServletRequestImpl。 Java的:1686) 在weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1646) 在weblogic.servlet.provider.ContainerSupportProviderImpl $ WlsRequestExecutor.run(ContainerSupportProviderImpl.java:270) 在weblogic.invocation.ComponentInvocationContextManager。 _runAs(ComponentInvocationContextManager.java:348) at weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:333) at weblogic.work.LivePartitionUtility。doRunWorkUnderContext(LivePartitionUtility.java:54) 在weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41) 在weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:640) 在weblogic.work.ExecuteThread.execute( ExecuteThread.java:406) 在weblogic.work.ExecuteThread.run(ExecuteThread.java:346)

+0

如何使用xxxFinance.ear中SharedUI.jar的组件? – z21

+0

我们使用的页面模板有一个带绑定的弹出窗口 –

回答

0

所有问题解决。那是因为一些开发者在路径类和库附件方面做了一些错误。