获得;java.lang.NoClassDefFoundError:weblogic/application/ApplicationStateListener“;将应用程序部署到Weblogic server时

获得;java.lang.NoClassDefFoundError:weblogic/application/ApplicationStateListener“;将应用程序部署到Weblogic server时,weblogic,oracle-adf,jdeveloper,Weblogic,Oracle Adf,Jdeveloper,在weblogic-appliations.xml中添加侦听器“ADFAApplicationStateListener”后获取NoClassDefFoundError 早期的weblogic-applications.xml具有侦听器“ADFApplicationLifecycleListener”。我能够使用此侦听器部署应用程序。 但根据以下链接中JDeveloper文档“自定义ADF应用程序部署要求”一节中指定的要求,我已配置了“ADFApplicationStateListener”侦听

在weblogic-appliations.xml中添加侦听器“ADFAApplicationStateListener”后获取NoClassDefFoundError

早期的weblogic-applications.xml具有侦听器“ADFApplicationLifecycleListener”。我能够使用此侦听器部署应用程序。 但根据以下链接中JDeveloper文档“自定义ADF应用程序部署要求”一节中指定的要求,我已配置了“ADFApplicationStateListener”侦听器。

如何解决此错误

谢谢,
戈帕尔


ApplicationStateListener作为以下错误修复的一部分引入到Weblogic server中:-

这里的错误是,在weblogic server中停止应用程序时,没有用于清理ADF资源的回调。 实际上,ApplicationLifeCycleStener的postStop()方法将在删除或取消部署应用程序时执行此操作

但是,当应用程序只需要重新启动时,即停止应用程序并再次启动它(无需取消部署和部署),则不会回调ADF MDS相关的资源清理。 因此,ApplicationStateListener引入了一个回调,用于在停止应用程序时进行资源清理

我的Weblogic服务器(版本10.3.6.0)未与具有上述错误修复的修补程序(修补程序56MM)一起应用

因此,如果要继续使用ApplicationStateListener,我必须应用补丁,否则我必须继续使用ApplicationLifeCycleStener

Caused by: java.lang.NoClassDefFoundError: weblogic/application/ApplicationStateListener
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
        at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
        at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
        at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:295)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
        at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:179)
        at weblogic.utils.classloaders.FilteringClassLoader.findClass(FilteringClassLoader.java:101)
        at weblogic.utils.classloaders.FilteringClassLoader.loadClass(FilteringClassLoader.java:86)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:295)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
        at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:179)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:247)
        at weblogic.application.internal.flow.BaseLifecycleFlow$CreateListenerAction.run(BaseLifecycleFlow.java:140)
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
        at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
        at weblogic.application.internal.flow.BaseLifecycleFlow$BaseAction.invoke(BaseLifecycleFlow.java:104)
        at weblogic.application.internal.flow.HeadLifecycleFlow.createListener(HeadLifecycleFlow.java:117)