Raphael Milani
Raphael Milani

Reputation: 151

RichFaces on Weblogic 9.2.1

I´ve tried deploy an application on Weblogic 9.2.1 and I´ve received this 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

I´ve tried a lot of things to solve this problem, but so far I didn´t understand this problem. I checked my libs on WEB-INF/lib and the libs were correct. I think this problem occurs due the Weblogic´s libraries JSF.

Upvotes: 1

Views: 889

Answers (2)

BalusC
BalusC

Reputation: 1108912

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

This is JSF 2.0 specific which in turn requires a Servlet 2.5 container with the web.xml declared conform Servlet 2.5 spec. I don't do Weblogic, so I can't tell from top of head, but Google learns me that Weblogic 9.2.x is a Servlet 2.4 container.

So, JSF 2.0 is not going to work on Weblogic 9.2.x out the box anyway. You have 2 options:

  1. Upgrade the container to a Servlet 2.5 capable make/version. E.g. Weblogic 10.x, Glassfish 2.x, JBoss AS 5.x, Tomcat 6.x etc. Servlet 2.5 is already out over 5 years ago.
  2. Downgrade JSF 2.0 to JSF 1.2 and RichFaces 4.x to RichFaces 3.x. When using Facelets instead of JSP, it should work on Servlet 2.4.

You can in theory however hack your JSF 2.0 webapp with specific libs to get it to run on servlet 2.4 containers. I only don't guarantee that it will work flawlessly on Weblogic along with RichFaces.

Upvotes: 4

duffymo
duffymo

Reputation: 308848

Cound be a conflict with the WebLogic JARs. Either remove yours or tell WebLogic to prefer classes found in the WEB-INF/lib using <prefer-web-inf-classes>:

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

Upvotes: 0

Related Questions