2015-10-02 31 views
0

我想實現簡單EJB應用程序在tutorialpoint中描述,我使用JBoss 5.1和eclipse作爲IDE,並且我創建了項目作爲EJB 3.但是我得到了下面的錯誤javax.naming.NoInitialContextException:無法實例化類:

javax.naming.NoInitialContextException: Cannot instantiate class: org.jnp.interfaces.NamingContextFactory [Root exception is java.lang.ClassNotFoundException: org.jnp.interfaces.NamingContextFactory] 
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:674) 
at javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:307) 
at javax.naming.InitialContext.init(InitialContext.java:242) 
at javax.naming.InitialContext.<init>(InitialContext.java:216) 
at com.tutorialspoint.test.EJBTester.<init>(EJBTester.java:42) 
at com.tutorialspoint.test.EJBTester.main(EJBTester.java:51) 
Caused by: java.lang.ClassNotFoundException: org.jnp.interfaces.NamingContextFactory 
at java.net.URLClassLoader$1.run(URLClassLoader.java:366) 
at java.net.URLClassLoader$1.run(URLClassLoader.java:355) 
at java.security.AccessController.doPrivileged(Native Method) 
at java.net.URLClassLoader.findClass(URLClassLoader.java:354) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:425) 
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:358) 
at java.lang.Class.forName0(Native Method) 
at java.lang.Class.forName(Class.java:274) 
at com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:72) 
at com.sun.naming.internal.VersionHelper12.loadClass(VersionHelper12.java:61) 
at javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:671) 
... 5 more 
java.lang.NullPointerException 
at com.tutorialspoint.test.EJBTester.testStatelessEjb(EJBTester.java:65) 
at com.tutorialspoint.test.EJBTester.main(EJBTester.java:53) 
null 

任何人都可以指導我呢?

回答

0

您需要將類org.jnp.interfaces.NamingContextFactory的jar添加到客戶端代碼中的類路徑中。

你可以得到它here。如果出現版本不匹配錯誤,請確保爲jboss 5.x獲取適當的jar。

+0

其工作正常,我加入客戶端文件夾默認jbossall-client.jar中,然後樣品正在 –

+0

和我需要做的,如果我想同一個客戶與JBoss 7.x的連接 –

+0

您的代碼應與JBoss甚至工作是什麼7.x只要您使用的初始上下文工廠是'org.jnp.interfaces.NamingContextFactory'。 – ares

相關問題