Exception: Need to specify class name in environme

2019-04-22 01:55发布

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

标签: jms
3条回答
Ridiculous、
2楼-- · 2019-04-22 02:32

A very common error can be that you have not added the jboss-client.jar! or alternate jar if using weblogic.

查看更多
甜甜的少女心
3楼-- · 2019-04-22 02:34

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

查看更多
萌系小妹纸
4楼-- · 2019-04-22 02:38

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.

查看更多
登录 后发表回答