This question already has an answer here:
When i run a JMS related application, i am encountering the following exception error.
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
We are using Sun Application Server 9.1
Any idea what are we missing?
I already tried adding the following but result still the same
Properties env = new Properties();
env.put("java.naming.factory.initial","com.sun.jndi.cosnaming.CNCtxFactory");
Context ctx = new InitialContext(env);
A very common error can be that you have not added the jboss-client.jar! or alternate jar if using weblogic.
I was facing the same problrm while working with spring & weblogic . I had resolved it by setting two properties
System.getProperties().put("java.naming.factory.initial","weblogic.jndi.WLInitialContextFactory"); System.getProperties().put("java.naming.provider.url", "t3://localhost:80")
In my environment, setting
Context.INITIAL_CONTEXT_FACTORY
wasn't enough. I also had to set Context.URL_PKG_PREFIXES, explained at http://docs.oracle.com/javase/6/docs/api/javax/naming/Context.html#URL_PKG_PREFIXES.