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

所有問題解決。那是因爲一些開發者在路徑類和庫附件方面做了一些錯誤。