I'm developing enterprise application using EJB3 + Seam 2.0.1 + RichFaces 3.1.3 + JBoss 4.2.2.
My ejb-module include entity and session beans with Seam annotations. Web-module provide user interface with ajax support refer directly to ejb beans.
I need to create components dynamically (using binding attribute) and provide data exchange between this components and DB. So I try to create a backing bean inside the ejb-module but receive NoClassDefFoundError during project deployment. My richfaces-api.jar is placed in ear/lib directory while richfaces-impl.jar and richfaces-ui.jar in my war/WEB-INF/lib. Say pls where I'm wrong?
Bean's code is like this
@Stateless @Name("manager") public class Bean { ... private HtmlAjaxOutputPanel myPanel; public HtmlAjaxOutputPanel getMyPanel() { myPanel = new HtmlAjaxOutputPanel(); ... return myPanel; } public void setMyPanel(HtmlAjaxOutputPanel myPanel) { this.myPanel = myPanel; } }
<a4j:outputPanel binding="#{manager.myPanel}" />
Exception sending context initialized event to listener instance of class org.jboss.web.jsf.integration.config.JBossJSFConfigureListener java.lang.NoClassDefFoundError: org/richfaces/component/html/HtmlAjaxOutputPanel; at java.lang.Class.getDeclaredFields0(Native Method) ...