javax.naming.NamingException:WFLYNAM0027:实例化InitialContextFactory失败

问题描述 投票:0回答:2

我正在使用wildfly10。 这是我的java代码。

private Hashtable mEnv = new Hashtable();
InitialContext e = new InitialContext(mEnv);

mEnv 的值作为流量。

mEnv = {
      java.naming.provider.url=localhost:8080,
       java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory, 
      java.naming.security.authentication=simple,
      java.naming.security.principal=fc,
      java.naming.security.credentials=1234

} 当我运行这个命令时,出现这样的错误。

javax.naming.NamingException: WFLYNAM0027: Failed instantiate InitialContextFactory org.jnp.interfaces.NamingContextFactory from classloader ModuleClassLoader for Module "deployment.cppro.war:main" from Service Module Loader [Root exception is java.lang.ClassNotFoundException: org.jnp.interfaces.NamingContextFactory from [Module "deployment.cppro.war:main" from Service Module Loader]]
java.lang.ClassNotFoundException: org.jnp.interfaces.NamingContextFactory from [Module "deployment.cppro.war:main" from Service Module Loader]
WFLYNAM0027: Failed instantiate InitialContextFactory org.jnp.interfaces.NamingContextFactory from classloader ModuleClassLoader for Module "deployment.cppro.war:main" from Service Module Loader
null
null

请帮助我。 谢谢。

java jboss wildfly jndi
2个回答
4
投票

JNP 是 JBoss AS5 的旧命名协议。您必须使用 WildFly 10 的新 JNDI 属性。请查看 https://docs.jboss.org/author/display/WFLY/JNDI+Reference (取决于您首先需要 InitialContext 的原因)


0
投票

对于那些面临此问题并正在使用模块的人,请考虑在服务器启动时将与 jndi.dns 或 jndi.url 相关的模块添加到 JAVA_OPTS

--add-exports jdk.naming.dns/com.sun.jndi.dns=ALL-UNNAMED
© www.soinside.com 2019 - 2024. All rights reserved.