RichFaces en Weblogic 9.2.1

Intenté implementar una aplicación en Weblogic 9.2.1 y recibí este error:

org.richfaces.component.html.HtmlSubTable
javax.faces.FacesException: javax.faces.FacesException: Cant instantiate class: org.richfaces.component.html.HtmlSubTable.
        at com.sun.faces.application.ApplicationImpl.createComponent(ApplicationImpl.java:545)
        at com.sun.faces.config.ConfigureListener.verifyObjects(ConfigureListener.java:1302)
        at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:397)
        at weblogic.servlet.internal.EventsManager$FireContextListenerAction.run(EventsManager.java:376)
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
        Truncated. see log file for complete stacktrace
javax.faces.FacesException: Cant instantiate class: org.richfaces.component.html.HtmlSubTable.
        at com.sun.faces.application.ApplicationImpl.newThing(ApplicationImpl.java:1016)
        at com.sun.faces.application.ApplicationImpl.createComponent(ApplicationImpl.java:539)
        at com.sun.faces.config.ConfigureListener.verifyObjects(ConfigureListener.java:1302)
        at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:397)
        at weblogic.servlet.internal.EventsManager$FireContextListenerAction.run(EventsManager.java:376)
        Truncated. see log file for complete stacktrace
java.lang.NoClassDefFoundError: javax/faces/component/visit/VisitContext
        at java.lang.Class.getDeclaredMethods0(Native Method)
        at java.lang.Class.privateGetDeclaredMethods(Class.java:2395)
        at java.lang.Class.getDeclaredMethods(Class.java:1763)
        at java.beans.Introspector$1.run(Introspector.java:1265)
        at java.beans.Introspector.getPublicDeclaredMethods(Introspector.java:1263)
        Truncated. see log file for complete stacktrace

He intentado muchas cosas para solucionar este problema, pero hasta ahora no lo he entendido. Revisé mis bibliotecas en WEB-INF / lib y las bibliotecas eran correctas. Creo que este problema se debe a las bibliotecas JSF de Weblogic.

preguntado el 16 de mayo de 11 a las 17:05

2 Respuestas

java.lang.NoClassDefFoundError: javax/faces/component/visit/VisitContext

Es Específico de JSF 2.0 que a su vez requiere un contenedor Servlet 2.5 con el web.xml declarado conforme a la especificación de Servlet 2.5. No hago Weblogic, por lo que no puedo decirlo desde la parte superior de la cabeza, pero Google me ha aprendido que Weblogic 9.2.x es un contenedor de Servlet 2.4.

Por lo tanto, JSF 2.0 no funcionará en Weblogic 9.2.x de todos modos. Tienes 2 opciones:

  1. Actualice el contenedor a una marca / versión compatible con Servlet 2.5. Por ejemplo, Weblogic 10.x, Glassfish 2.x, JBoss AS 5.x, Tomcat 6.x, etc. Servlet 2.5 ya salió hace más de 5 años.
  2. Cambie JSF 2.0 a JSF 1.2 y RichFaces 4.xa RichFaces 3.x. Cuando usas Facetas en lugar de JSP, debería funcionar en Servlet 2.4.

Puedes En teoria sin embargo, piratee su aplicación web JSF 2.0 con bibliotecas específicas para que se ejecute en contenedores de servlet 2.4. Solo no garantizo que funcione perfectamente en Weblogic junto con RichFaces.

contestado el 23 de mayo de 17 a las 15:05

Podría haber un conflicto con los JAR de WebLogic. Elimine el suyo o dígale a WebLogic que prefiera las clases que se encuentran en WEB-INF / lib usando <prefer-web-inf-classes>:

http://download.oracle.com/docs/cd/E12840_01/wls/docs103/programming/classloading.html

contestado el 16 de mayo de 11 a las 21:05

Hola duffymo. ¡Intentaré tu sugerencia! - Rafael Milani

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.