我将一个EJB独立组件部署到weblogic 12并收到以下错误:
weblogic.application.ModuleException:java.lang.ClassNotFoundException:org.apache.taglibs.standard.tag.el.core.WhenTag 在weblogic.application.internal.ExtensibleModuleWrapper.prepare(ExtensibleModuleWrapper.java:114) 在weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:100) 在weblogic.application.internal.flow.ModuleStateDriver $ 1.next(ModuleStateDriver.java:172) at weblogic.application.internal.flow.ModuleStateDriver $ 1.next(ModuleStateDriver.java:167) at weblogic.application.utils.StateMachineDriver $ ParallelChange.run(StateMachineDriver.java:80) 在weblogic.work.ContextWrap.run(ContextWrap.java:40) at weblogic.work.SelfTuningWorkManagerImpl $ WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:550) 在weblogic.work.ExecuteThread.execute(ExecuteThread.java:295) 在weblogic.work.ExecuteThread.run(ExecuteThread.java:254) 引发者:java.lang.ClassNotFoundException:org.apache.taglibs.standard.tag.el.core.WhenTag 在weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:335) 在weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:302) 在weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:64) at java.lang.ClassLoader.loadClass(ClassLoader.java:423) at java.lang.ClassLoader.loadClass(ClassLoader.java:356) at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:180) 在weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:43) 在weblogic.servlet.internal.AnnotationProcessingManager.processAnnotationForClasses(AnnotationProcessingManager.java:157) 在weblogic.servlet.internal.AnnotationProcessingManager.processAnnotations(AnnotationProcessingManager.java:114) 在weblogic.servlet.internal.AnnotationProcessingManager.processAnnotationsOutsideWebFragment(AnnotationProcessingManager.java:141) 在weblogic.servlet.internal.AnnotationProcessingManager.processAnnotations(AnnotationProcessingManager.java:102) 在weblogic.servlet.internal.AnnotationProcessingManager.processAnnotations(AnnotationProcessingManager.java:79) 在weblogic.servlet.internal.WebAppModule.processAnnotations(WebAppModule.java:1804) 在weblogic.servlet.internal.WebAppModule.prepare(WebAppModule.java:763) at weblogic.application.internal.ExtensibleModuleWrapper $ PrepareStateChange.next(ExtensibleModuleWrapper.java:295) at weblogic.application.internal.ExtensibleModuleWrapper $ PrepareStateChange.next(ExtensibleModuleWrapper.java:285) at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:42) 在weblogic.application.internal.ExtensibleModuleWrapper.prepare(ExtensibleModuleWrapper.java:109) 在weblogic.application.internal.flow.ModuleListenerInvoker.prepare(ModuleListenerInvoker.java:100) 在weblogic.application.internal.flow.ModuleStateDriver $ 1.next(ModuleStateDriver.java:172) at weblogic.application.internal.flow.ModuleStateDriver $ 1.next(ModuleStateDriver.java:167) at weblogic.application.utils.StateMachineDriver $ ParallelChange.run(StateMachineDriver.java:80) 在weblogic.work.ContextWrap.run(ContextWrap.java:40) at weblogic.work.SelfTuningWorkManagerImpl $ WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:550) 在weblogic.work.ExecuteThread.execute(ExecuteThread.java:295) 在weblogic.work.ExecuteThread.run(ExecuteThread.java:254)
同一个ear文件在weblogic 10上部署得很好.ear文件包含一个war,因为我使用ServletContextListener在启动时将一些信息转储到日志中。 war文件包含实现ServletContextListener和web.xml的类,没有lib文件夹。
war
| |
meta-inf web-inf
| | |
manifest classes web.xml
如果我将standard.jar打包到lib / war中,它可以在WebLogic 12上运行,但为什么我必须这样做呢?该模块不使用jstl。