1 Reply Latest reply on Jul 7, 2005 4:20 AM by ge0ffrey

    JBoss 4.0.3RC1 and Sun's Java Server Faces

    ge0ffrey

      [I also posted this question on the Tomcat user mailing list with no response]

      Our application uses Sun's JSF implementation.
      On JBoss 4.0.2 it deploys fine, but on JBoss 4.0.3RC1 it throws a
      ClassCastException:
      at
      com.sun.faces.config.ConfigureListener.configure(ConfigureListener.java:711)
      ...
      at
      org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3669)
      ...

      I tried not bundling the Sun faces api in the war and it deploys but it
      gives problems:
      - Sun's JSF doesn't work properly any more
      - The war also needs to be able to deploy on JBoss 4.0.2, Resin etc
      which don't have a version the faces api.


      Deleting the myfaces faces api from Tomcat isn't really a good solution
      either as other applications deployed on the same production instance
      might depend on it and it complicated the deployment procedure.


      Any other solutions?


      Thanks for any and all help,
      Geoffrey

        • 1. Re: JBoss 4.0.3RC1 and Sun's Java Server Faces
          ge0ffrey

          I 've tried various solutions on
          http://jira.jboss.com/jira/browse/JBAS-1508 (FilteredPackages)
          http://jira.jboss.com/jira/browse/JBAS-1691 (Java2ClassLoadingCompliance and UseJBossWebLoader)

          with no luck



          Deleting the jbossweb-tomcat55.sar/jsf-lib works partially in JBoss 4.0.3RC1.
          Deployment works, but when going to a jsf view:

          java.lang.NoClassDefFoundError: org.apache.myfaces.taglib.core.ViewTag
          org.apache.jsp.home_jsp._jspx_meth_f_view_0(org.apache.jsp.home_jsp:86)
          org.apache.jsp.home_jsp._jspService(org.apache.jsp.home_jsp:63)
          org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
          javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
          org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:322)
          org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
          org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
          javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
          com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:322)
          com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:130)
          com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87)
          com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
          com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117)
          javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)

          So it's still trying to use the myfaces tld :/