12 Replies Latest reply on Mar 13, 2008 3:02 PM by efestione

    NoClassDefFoundError: javax/servlet/jsp/JspContext on weblog

    efestione

      Hi,
      I deployed a richfaces application on weblogic 8.1sp4 (running on HP-UX)
      and when I request every page (jsf) which contanins
      <%@ taglib uri="http://richfaces.org/a4j" prefix="a4j"%>

      I got this error:

      java.lang.NoClassDefFoundError: javax/servlet/jsp/JspContext
      at java.lang.Class.getDeclaredMethods0(Native Method)
      at java.lang.Class.privateGetDeclaredMethods(Class.java:1655)
      at java.lang.Class.getDeclaredMethods(Class.java:1139)
      at java.beans.Introspector$1.run(Introspector.java:1127)
      at java.security.AccessController.doPrivileged(Native Method)
      at java.beans.Introspector.getPublicDeclaredMethods(Introspector.java:1125)
      at java.beans.Introspector.getTargetMethodInfo(Introspector.java:990)
      at java.beans.Introspector.getBeanInfo(Introspector.java:371)
      at java.beans.Introspector.getBeanInfo(Introspector.java:208)
      at java.beans.Introspector.(Introspector.java:352)
      at java.beans.Introspector.getBeanInfo(Introspector.java:208)
      at java.beans.Introspector.getBeanInfo(Introspector.java:194)
      at weblogic.servlet.jsp.StandardTagLib.parseTagDD(StandardTagLib.java:1331)
      at weblogic.servlet.jsp.StandardTagLib.parseDD(StandardTagLib.java:1269)
      at weblogic.servlet.jsp.StandardTagLib.(StandardTagLib.java:292)
      at weblogic.servlet.jsp.TagLibHelper.loadTagLib(TagLibHelper.java:314)
      at weblogic.servlet.jsp.JspLexer.loadTagLib(JspLexer.java:145)
      at weblogic.servlet.jsp.JspLexer.mTAGLIB_DIRECTIVE_BODY(JspLexer.java:5053)
      at weblogic.servlet.jsp.JspLexer.mTAGLIB_DIRECTIVE(JspLexer.java:4891)
      at weblogic.servlet.jsp.JspLexer.mDIRECTIVE(JspLexer.java:4737)
      at weblogic.servlet.jsp.JspLexer.mSTANDARD_THING(JspLexer.java:2147)
      at weblogic.servlet.jsp.JspLexer.mTOKEN(JspLexer.java:1933)
      at weblogic.servlet.jsp.JspLexer.nextToken(JspLexer.java:1806)
      at weblogic.servlet.jsp.JspLexer.parse(JspLexer.java:963)
      at weblogic.servlet.jsp.JspParser.doit(JspParser.java:106)
      at weblogic.servlet.jsp.JspParser.parse(JspParser.java:234)
      at weblogic.servlet.jsp.Jsp2Java.outputs(Jsp2Java.java:125)
      at weblogic.utils.compiler.CodeGenerator.generate(CodeGenerator.java:258)
      at weblogic.servlet.jsp.JspStub.compilePage(JspStub.java:388)
      at weblogic.servlet.jsp.JspStub.prepareServlet(JspStub.java:238)
      at weblogic.servlet.jsp.JspStub.prepareServlet(JspStub.java:188)
      at weblogic.servlet.internal.ServletStubImpl.getServlet(ServletStubImpl.java:535)
      at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:373)
      at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:463)
      at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:315)
      at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:328)
      at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:322)
      at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:130)
      at org.ajax4jsf.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:108)
      ...

      I think I selected right version of Sun JSF (1.1) and right version of jakarta. I don't understand why the compiler search for JspContext which is a jsp 2.0 Class.
      Can anyone help me?
      Thanks in advance...


        • 1. Re: NoClassDefFoundError: javax/servlet/jsp/JspContext on we

          which richfaces version you are trying to use ?

          • 2. Re: NoClassDefFoundError: javax/servlet/jsp/JspContext on we
            fabmars

            Common Issue.

            Without Facelets, the JSP engine is used, and with JSF1.2 you need an impl of the JSP API 2.1, which I doubt Weblo 8.1 has.

            • 3. Re: NoClassDefFoundError: javax/servlet/jsp/JspContext on we
              efestione

              I'm using richfaces-ui-3.1.4.GA version, but I have the same problem with 3.1.0

              • 4. Re: NoClassDefFoundError: javax/servlet/jsp/JspContext on we
                efestione

                Fabmars do you mean I must include facelets in my web application?

                • 5. Re: NoClassDefFoundError: javax/servlet/jsp/JspContext on we
                  efestione
                  • 6. Re: NoClassDefFoundError: javax/servlet/jsp/JspContext on we
                    efestione

                    I'm not able to solve this problem.
                    I tried to deploy on weblogic 8.1.4 (JDK 1.4) richfaces-demo-3.1.4.GA.war and I obtain

                    weblogic.management.DeploymentException:
                    Exception:weblogic.management.ApplicationException: activate failed for richfaces-demo-3.1.4.GA
                    Module: richfaces-demo-3.1.4.GA Error: weblogic.management.DeploymentException: - with nested exception:
                    [java.lang.UnsupportedClassVersionError: com/sun/faces/util/ReflectionUtils$ReflectionUtilsListener (Unsupported major.minor version 49.0)]
                    java.lang.UnsupportedClassVersionError: com/sun/faces/util/ReflectionUtils$ReflectionUtilsListener (Unsupported major.minor version 49.0)

                    can you help me?

                    • 7. Re: NoClassDefFoundError: javax/servlet/jsp/JspContext on we
                      efestione

                      Can anyone give me a kickstart richfaces application that I can deploy on Weblogic 8.1sp4?

                      • 8. Re: NoClassDefFoundError: javax/servlet/jsp/JspContext on we

                        are you able to deploy richfaces-demo for J2EE container

                        I mean the one that marked as:

                        Ready-to-Deploy war RichFaces Demo:
                        * [J2EE Containers - Tomcat 5.5.x, JBoss 4.0.x and other]

                        at http://jboss.com/index.html?module=bb&op=viewtopic&t=104575

                        • 9. Re: NoClassDefFoundError: javax/servlet/jsp/JspContext on we
                          efestione

                          Just now I tried again to deploy richfaces-demo-3.1.4.GA.war
                          but I obtain the error

                          <12-mar-2008 21.55.01 CET> <BEA-101163> <Could not load user defined listener: com.sun.faces.util.ReflectionUtils$ReflectionUtilsListener
                          java.lang.ClassNotFoundException: Class bytes found but defineClass()failed for: 'com.sun.faces.util.ReflectionUtils$ReflectionUtilsListener'
                          at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:187)
                          at weblogic.utils.classloaders.ChangeAwareClassLoader.findClass(ChangeAwareClassLoader.java:61)
                          at java.lang.ClassLoader.loadClass(ClassLoader.java:289)
                          at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
                          at weblogic.utils.classloaders.GenericClassLoader.loadClass(GenericClassLoader.java:224)
                          at weblogic.utils.classloaders.ChangeAwareClassLoader.loadClass(ChangeAwareClassLoader.java:41)
                          at weblogic.servlet.internal.WebAppServletContext.loadClass(WebAppServletContext.java:5868)
                          at weblogic.servlet.internal.WebAppServletContext.registerEventListener(WebAppServletContext.java:2882)
                          at weblogic.servlet.internal.WebAppHelper.parseAndRegisterListeners(WebAppHelper.java:394)
                          at weblogic.servlet.internal.WebAppHelper.registerImplicitTagLibListeners(WebAppHelper.java:359)
                          at weblogic.servlet.internal.WebAppServletContext.activateFromDescriptors(WebAppServletContext.java:2434)
                          at weblogic.servlet.internal.WebAppServletContext.activate(WebAppServletContext.java:5904)
                          at weblogic.servlet.internal.WebAppServletContext.setActive(WebAppServletContext.java:5882)
                          at weblogic.servlet.internal.WebAppModule.activate(WebAppModule.java:834)
                          at weblogic.j2ee.J2EEApplicationContainer.activateModule(J2EEApplicationContainer.java:3315)
                          at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContainer.java:2194)
                          at weblogic.j2ee.J2EEApplicationContainer.activate(J2EEApplicationContainer.java:2167)
                          at weblogic.management.deploy.slave.SlaveDeployer$ComponentActivateTask.activateContainer(SlaveDeployer.java:2503)
                          at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.doCommit(SlaveDeployer.java:2421)
                          at weblogic.management.deploy.slave.SlaveDeployer$Task.commit(SlaveDeployer.java:2138)
                          at weblogic.management.deploy.slave.SlaveDeployer$Task.checkAutoCommit(SlaveDeployer.java:2237)
                          at weblogic.management.deploy.slave.SlaveDeployer$Task.prepare(SlaveDeployer.java:2132)
                          at weblogic.management.deploy.slave.SlaveDeployer$ActivateTask.prepare(SlaveDeployer.java:2384)
                          at weblogic.management.deploy.slave.SlaveDeployer.processPrepareTask(SlaveDeployer.java:866)
                          at weblogic.management.deploy.slave.SlaveDeployer.prepareDelta(SlaveDeployer.java:594)
                          at weblogic.management.deploy.slave.SlaveDeployer.prepareUpdate(SlaveDeployer.java:508)
                          at weblogic.drs.internal.SlaveCallbackHandler$1.execute(SlaveCallbackHandler.java:25)
                          at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:219)
                          at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:178)
                          Caused by: java.lang.UnsupportedClassVersionError: com/sun/faces/util/ReflectionUtils$ReflectionUtilsListener (Unsupported major.minor version 49.0)
                          at java.lang.ClassLoader.defineClass0(Native Method)
                          at java.lang.ClassLoader.defineClass(ClassLoader.java:539)
                          at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
                          at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(GenericClassLoader.java:480)
                          at weblogic.utils.classloaders.GenericClassLoader.findClass(GenericClassLoader.java:182)
                          ... 28 more
                          >

                          I'm desperate... :-)

                          • 10. Re: NoClassDefFoundError: javax/servlet/jsp/JspContext on we
                            alexsmirnov

                            You tried to deploy applications with JSF 1.2 libraries. They depend from JDK 1.5 capabilities as far as JSP 2.1 for a non-facelets jsf.
                            Although RichFaces 3.1.x build for a JSF 1.1, JDK 1.4 and JSP 2.0 compatibility, but, we havn't prepared sample for a such environment. It can be build from source code by "mvn package -P jsf1_1" command.

                            • 11. Re: NoClassDefFoundError: javax/servlet/jsp/JspContext on we
                              nbelaevski

                              I've built the demo under JDK 1.4. It's here: http://sleed.at.tut.by/richfaces-demo.war%20 (unfortunately my provider has added "%20" to the end of file name to some reason, so please remove it after download)

                              Please consider reading the following to make Weblogic support 2.0: http://wiki.apache.org/myfaces/Installation_and_Configuration

                              • 12. Re: NoClassDefFoundError: javax/servlet/jsp/JspContext on we
                                efestione

                                Yeee! Finally I (We!) solve the issue:
                                I put jsp-api.jar and servlet-api.js (taken from tomcat 5.5)
                                on my startWeblogic.sh classpath and this solve the problem!
                                (I deployed succesfully the richfaces-demo and my application on weblogic 8.1)

                                Note that with HP-UX there is a problem with graphical environment:
                                I've also added the jvm option on startWeblogic.sh:
                                -Djava.awt.headless=true
                                (I've read this article http://products.davisor.com/chart/doc/headless.html)

                                Thank you very much everybody! :-)))