I am trying to execute example program in Ivan's note '5.2.4.Remote Java SE Client with JNDI Lookup' page number 84 - 85.
Its written that "Include the GlassFish v3 client runtime library JAR on the classpath. The library can be found in: $GLASSFISH_HOME/modules/gf-client.jar"
I have Glassfish v3 installed but I am unable to find a file names gf-client.jar under the directory modules but there is one at $GLASSFISH_HOME/lib/gf-client.jar
I have included this jar as well as javax.ejb.jar in my classpath.
However on running the main class I am getting an error as below.
*** Starting Remote EJB Lookup... javax.naming.NoInitialContextException: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file: java.naming.factory.initial at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:645) at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288) at javax.naming.InitialContext.getURLOrDefaultInitCtx(InitialContext.java:325) at javax.naming.InitialContext.lookup(InitialContext.java:392) at com.saurav.scbcd6.seclient.RemoteSESessionBeanClient.lookupEJB(RemoteSESessionBeanClient.java:29) at com.saurav.scbcd6.seclient.RemoteSESessionBeanClient.main(RemoteSESessionBeanClient.java:58)
When I add all the classes present in Glassfish runtime ($GLASSFISH_HOME/modules/*), I am able to run the example.
Please let me know the exact jar that I need to add to run the example above.
posted 6 years ago
Ok I got the issue. Actually I had copied gf-client.jar into my Java Project and then added that as a jar in the build path.
However gf-client.jar has a lot of dependencies to the jars present in $GLASSFISH_HOME/modules/*.jar
Hence I removed the local jar from the build path and added gf-client.jar as an external jar(specifying path to $GLASSFISH_HOME/lib/gf-client.jar) in my eclipse build path.
That way all the dependent jars were also added automatically to the build path.