2015-10-02 92 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

相关问题