1 Reply Latest reply on Jul 8, 2002 8:52 PM by joelvogt

    ejb.jar missing

    piter

      I've been attempting to get my ejb client program to lookup my ejb from the naming context in JBoss 3.0

      In the documentation it says I need to include the following Jar files to my classpath.

      ejb.jar
      jaas.jar
      jbosssx-client.jar
      jboss-client.jar
      jnp-client.jar

      I can include all of the above Jar files except the ejb.jar?! I searched the directories in JBoss and couldn't find it.

      My client keeps giving me the following exception:

      Exception in thread "main" java.lang.NoClassDefFoundError: Ljavax/transaction/TransactionManager;


      If I include all the Jar files in the jboss/client directory I get the following exception:

      javax.naming.NoInitialContextException: Cannot instantiate class: org.jnp.interfaces.NamingContextFactory [Root exception is java.lang.ClassNotFoundException: org.jnp.interfaces.NamingContextFactory]
      ???

      Is there some configuration setting I missing to do in JBoss itself?

      my JNDI context lookup is:
      try
      {
      Properties p = new Properties();
      p.put("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory" );
      p.put("java.naming.provider.url", "jnp://localhost:1099" );
      p.put("java.naming.factory.url.pkgs", "org.jboss.naming:org.jnp.interfaces" );

      // Get a naming context
      InitialContext jndiContext = new InitialContext( p );
      System.out.println("Got context");

      // Get a reference to the Interest Bean
      Object ref = jndiContext.lookup("HelloEjb");
      System.out.println("Got reference");

      // Get a reference from this to the Bean's Home interface
      HelloEjbHome home = (HelloEjbHome)PortableRemoteObject.narrow(ref, HelloEjbHome.class);

      // Create an Interest object from the Home interface
      HelloEjb helloEjb = home.create();

      // call the calculateCompoundInterest() method to do the calculation
      System.out.println("Interest on 1000 units, at 10% per period, compounded over 2 periods is:");
      System.out.println(helloEjb.sayHello( "some saying.."));
      }
      catch(Exception e)
      {
      System.out.println(e.toString());
      }

        • 1. Re: ejb.jar missing
          joelvogt

          The ejb.jar is your problem. However the classes you need from him are in jboss-j2ee.jar which should be included with your other guys