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) ...