2011-03-10 88 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

希望它可以幫助獲得幫助。

相關問題