when i try to run an ejb application the following error occurs!!! Can u help me out of it
The following stack trace is displayed java.lang.NoClassDefFoundError: javax/ejb/EJBHome at java.lang.ClassLoader.findBootstrapClass(Native Method) at java.lang.ClassLoader.findBootstrapClass0(ClassLoader.java:727) at java.lang.ClassLoader.loadClass(ClassLoader.java:284) at java.lang.ClassLoader.loadClass(ClassLoader.java:282) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:274) at java.lang.ClassLoader.loadClass(ClassLoader.java:235) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:219) at sun.rmi.server.LoaderHandler.loadProxyInterfaces(LoaderHandler.java:707) at sun.rmi.server.LoaderHandler.loadProxyClass(LoaderHandler.java:622) at sun.rmi.server.LoaderHandler.loadProxyClass(LoaderHandler.java:517) at java.rmi.server.RMIClassLoader$2.loadProxyClass(RMIClassLoader.java:639) at java.rmi.server.RMIClassLoader.loadProxyClass(RMIClassLoader.java:309) at sun.rmi.server.MarshalInputStream.resolveProxyClass(MarshalInputStream.java:241) at java.io.ObjectInputStream.readProxyDesc(ObjectInputStream.java:1469) at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1432) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1626) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:324) at java.rmi.MarshalledObject.get(MarshalledObject.java:135) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:353) at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:333) at javax.naming.InitialContext.lookup(InitialContext.java:347) at An.displaySearchResult(An.java:93) at An.displayPage(An.java:64) at An.doPost(An.java:26) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) at filters.ExampleFilter.doFilter(ExampleFilter.java:149) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:213) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:494) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174) at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619) at java.lang.Thread.run(Thread.java:534) The code listing is here For Remote interface package tassie; import javax.ejb.EJBObject; import java.rmi.RemoteException; import java.util.ArrayList; public interface Search extends EJBObject { public ArrayList search(String keyword) throws RemoteException; } for home interface package tassie; import java.rmi.RemoteException; import javax.ejb.CreateException; import javax.ejb.EJBHome; public interface SearchHome extends EJBHome { Search create() throws RemoteException, CreateException; } For bean class package tassie; import java.rmi.RemoteException; import javax.ejb.SessionBean; import javax.ejb.SessionContext; import java.sql.*; import java.util.ArrayList; public class SearchBean implements SessionBean { private Connection getConnection() { Connection connection = null; try { Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); connection = DriverManager.getConnection("jdbc:odbc:TassieDB"); } catch (Exception e) { } return connection; } public ArrayList search(String keyword) { ArrayList retval = new ArrayList(50); try { Statement statement = getConnection().createStatement(); String sql = "SELECT Id, Title, Author, Publisher" + " FROM Books" + " WHERE Title LIKE '%" + keyword + "%'"; ResultSet rs = statement.executeQuery(sql); while (rs.next()) { String[] row = new String[4]; row[0] = rs.getString("Id"); row[1] = rs.getString("Title"); row[2] = rs.getString("Author"); row[3] = rs.getString("Publisher"); retval.add(row); } rs.close(); statement.close(); } catch (Exception e) { } return retval; } public void ejbCreate() { } public void ejbRemove() { } public void ejbActivate() { } public void ejbPassivate() { } public void setSessionContext(SessionContext sc) { } } n the client servlet is here //package com.brainysoftware.tassie.servlet; import javax.servlet.*; import javax.ejb.*; import javax.servlet.http.*; import java.io.*; import java.util.*; import javax.naming.*; import javax.rmi.PortableRemoteObject; import tassie.Search; import tassie.SearchHome; public class An extends HttpServlet { private String keyword; /**Process the HTTP Get request*/ public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { displayPage(request, response); } /**Process the HTTP Post request*/ public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { keyword = request.getParameter("keyword"); displayPage(request, response); } private void displayPage(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { /* In addition to the header and footer, There are 4parts in this page: 1. The Welcome Title 2. Search form 3. The search result table 4. The link to the Check Shopping Cart page */ response.setContentType("text/html"); PrintWriter out = response.getWriter(); // header out.println(""); out.println(""); out.println("Welcome to Tassie Online Bookstore"); out.println(""); out.println(""); out.println(""); // Welcome Title out.println("<H2>Welcome To Tassie Online Bookstore</H2>"); // Search form out.println(""); out.println("<FORM METHOD=POST>"); out.println("Title: <INPUT TYPE=TEXT NAME=keyword>"); out.println("<INPUT TYPE=SUBMIT VALUE=Search"); out.println(""); out.println(""); // Search result out.println(""); out.println("<H3>Search Result</H3>"); out.println(""); displaySearchResult(out); out.println(""); // Link to the Check Shopping Cart link out.println(""); out.println("<A HREF=Hello>Check Shopping Cart"); // footer out.println(""); out.println(""); out.println(""); // Displaying the Search form } /**Clean up resources*/ private void displaySearchResult(PrintWriter out) { if (keyword!=null && !keyword.trim().equals("")) { // keyword okay, display the result here. Properties properties = new Properties(); properties.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory"); properties.put(Context.PROVIDER_URL, "localhost:1099"); try { // Get a naming context InitialContext jndiContext = new InitialContext(properties); System.out.println("got context"); // Get a reference to the Bean Object ref = jndiContext.lookup("Search"); System.out.println("got reference"); // Get a reference from this to the Bean's Home interface SearchHome home = (SearchHome) PortableRemoteObject.narrow (ref, SearchHome.class); // Create an Adder object from the Home interface Search searchBean = home.create(); ArrayList arrayList = searchBean.search(keyword); int rowCount = arrayList.size(); out.println("<TABLE BORDER=1>"); out.println(""); out.println("<TH WIDTH=350>Title"); out.println("<TH WIDTH=150>Author"); out.println("<TH WIDTH=150>Publisher"); out.println("<TH WIDTH=50> "); out.println(""); for (int i=0; i<rowCount; i++) { String[] s = (String[]) arrayList.get(i); out.println(""); out.println("" + s[1] + ""); out.println("" + s[2] + ""); out.println("" + s[3] + ""); out.println("<A HREF=com.brainysoftware.tassie.servlet.BookDetailsServlet?bookId=" + s[0] + ">Details"); out.println(""); } out.println(""); } catch(Exception e) { System.out.println(e.toString()); } } } } View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3893912#3893912 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3893912 ------------------------------------------------------- SF.Net email is Sponsored by the Better Software Conference & EXPO September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA Security * Process Improvement & Measurement * http://www.sqe.com/bsce5sf _______________________________________________ JBoss-user mailing list JBoss-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jboss-user