JBoss eap 6 JNDI问题

JBoss eap 6 JNDI问题,jboss,ejb-3.0,Jboss,Ejb 3.0,我正在尝试以下教程,该教程创建一个简单的EJB,然后通过Java SE客户端进行访问: 本教程使用ant,但我使用maven。现在,在我的客户机中,我在创建初始上下文时遇到以下错误: javax.naming.NoInitialContextException: Cannot instantiate class: org.jnp.interfaces.NamingContextFactory [Root exception is java.lang.ClassNotFoundExc

我正在尝试以下教程,该教程创建一个简单的EJB,然后通过Java SE客户端进行访问:

本教程使用ant,但我使用maven。现在,在我的客户机中,我在创建初始上下文时遇到以下错误:

 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 EJBDriver.main(EJBDriver.java:21)

如何解决这个问题?

我按如下方式解决了这个问题

1-如果EJB类位于不同的项目中,则需要将具有EJB类的项目添加到包含客户端的项目的类路径中。对于Eclipse:

右键单击项目->构建路径->配置构建路径->项目选项卡->添加->选择所需项目->确定->确定

2-jboss-client.jar文件也需要添加到EJB客户端项目的类路径中

右键单击项目->构建路径->配置构建路径->项目选项卡->库->添加外部JAR 浏览到jboss-client.jar文件(在windows中位于jboss_Installation/bin/client中)
选择文件并单击“确定”两次。

jboss 6应使用以下属性:

naming factory= org.jboss.naming.remote.client.InitialContextFactory
provider url= remote://localhost:4447

似乎客户端jar不在类路径中,请检查这一点:使用compile选项卡中的AddJAR/folder按钮添加jboss库。Jboss库可以位于>客户端文件夹。我用同样的方法解决了这个问题。添加它作为一个单独的评论,我会标记它作为答案。
java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces
java.naming.provider.url=localhost:4447
naming factory= org.jboss.naming.remote.client.InitialContextFactory
provider url= remote://localhost:4447