JMS関連のアプリケーションを実行すると、次の例外エラーが発生します。
javax.naming.NoInitialContextException:環境またはシステムプロパティで、またはアプレットパラメータとして、またはアプリケーションリソースファイルでクラス名を指定する必要があります:Java.naming.factory.initial
Sun Application Server9.1を使用しています
何が欠けているのか分かりますか?
私はすでに以下を追加しようとしましたが、結果は同じです
Properties env = new Properties();
env.put("Java.naming.factory.initial","com.Sun.jndi.cosnaming.CNCtxFactory");
Context ctx = new InitialContext(env);
非常に一般的なエラーは、jboss-client.jarを追加していないことです。または、weblogicを使用している場合は代替jar。
Spring&weblogicで作業しているときに、同じ問題に直面していました。 2つのプロパティを設定して解決しました
System.getProperties()。put( "Java.naming.factory.initial"、 "weblogic.jndi.WLInitialContextFactory"); System.getProperties()。put( "Java.naming.provider.url"、 "t3:// localhost:80")
私の環境では、Context.INITIAL_CONTEXT_FACTORY
を設定するだけでは不十分でした。 http://docs.Oracle.com/javase/6/docs/api/javax/naming/Context.html#URL_PKG_PREFIXES で説明されているContext.URL_PKG_PREFIXESも設定する必要がありました。