2011-03-10 70 views
4
javax.naming.NoInitialContextException: Cannot instantiate class: org.jnp.interf 
aces.NamingContextFactory [Root exception is java.lang.ClassNotFoundException: o 
rg.jnp.interfaces.NamingContextFactory] 
     at javax.naming.spi.NamingManager.getInitialContext(Unknown Source) 
     at javax.naming.InitialContext.getDefaultInitCtx(Unknown Source) 
     at javax.naming.InitialContext.init(Unknown Source) 
     at javax.naming.InitialContext.<init>(Unknown Source) 
     at Client_TestPortal.main(Client_TestPortal.java:54) 
Caused by: java.lang.ClassNotFoundException: org.jnp.interfaces.NamingContextFac 
tory 
     at java.net.URLClassLoader$1.run(Unknown Source) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at java.net.URLClassLoader.findClass(Unknown Source) 
     at java.lang.ClassLoader.loadClass(Unknown Source) 
     at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) 
     at java.lang.ClassLoader.loadClass(Unknown Source) 
     at java.lang.ClassLoader.loadClassInternal(Unknown Source) 
     at java.lang.Class.forName0(Native Method) 
     at java.lang.Class.forName(Unknown Source) 
     at com.sun.naming.internal.VersionHelper12.loadClass(Unknown Source) 
     ... 5 more 
+0

我希望[这里](http://stackoverflow.com/questions/32901871/javax-naming-noinitialcontextexception-cannot-instantiate-class)将帮助你解决这个问题在Jboss 5.1 – 2015-10-06 04:35:27

回答

10

该例外说明对您的Client_TestPortal应用程序初始化InitialContext失败。重申的是,它一直无法加载类(org.jnp.interfaces.NamingContextFactory)(我认为)为您的平台默认的Java命名提供程序。

看来您的应用程序classpath缺少必需的JAR文件。根据this findjar query它可能是以下之一:

[LOCAL] jbossall-client.jar 
[LOCAL] jbossjmx-ant.jar 
[MAVEN2] jnpserver-3.2.3.jar 
[MAVEN2] jbossall-client-3.2.1.jar 
[MAVEN2] jbossall-client-3.2.3.jar 
[MAVEN2] jbossjmx-ant-3.2.3.jar 
[MAVEN2] jnp-client-3.2.1.jar 
[MAVEN2] jnp-client-4.0.2.jar 

...或类似的东西。上述JAR中哪个(如果有的话)最合适很难说。

+0

好吧。我会检查 – saran 2011-03-10 06:47:46

+3

提及findjar +1! – Bogdan 2011-03-10 07:07:02

+0

斯蒂芬,如果我创建bean对象在运行时得到这个错误? java.lang.ClassCastException 在com.sun.corba.se.impl.javax.rmi.PortableRemoteObject.narrow(未知小号 乌尔斯河) 在javax.rmi.PortableRemoteObject.narrow(未知来源) 在Client_TestPortal.main(Client_TestPortal .java:71) 导致:java.lang.ClassCastException:javax.naming.Reference ... 3更多 如何在我的客户端创建bean对象?我有接口名称:TestPortal Bean类名称:TestPortalBean 耳朵名称:PortalEJB – saran 2011-03-10 09:17:05

1

您没有提供像你所使用的环境,应用服务器等

它lloks例如JNDI相关JAR任何方式不是在classpath足够的信息。如果它已经存在并且仍然不能工作,那么你可能错过了放置正确的上下文信息,所以将JNDI信息传递给InitialContext的构造器。

0

我有同样的问题,但我发现如何解决它。你所要做的就是将jbossall-client.jar库添加到客户端项目中,并完成!您可以在客户端文件夹中找到该文件。 e.g的jboss-6.1.0.Final_GPT \客户 我使用JBoss 6.1.0 您也可以通过以下链接 https://community.oracle.com/thread/1157701?start=0

希望它可以帮助获得帮助。

相关问题