JBoss eap 6 JNDI问题

时间:2014-06-12 14:44:00

标签: jboss ejb-3.0

我正在尝试以下教程,该教程创建一个简单的EJB,然后通过Java SE客户端进行访问: http://www.tutorialspoint.com/ejb/ejb_create_application.htm

本教程使用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)

我已将以下依赖项添加到我的pom.xml中:

     <groupId>org.jboss.spec</groupId>
     <artifactId>jboss-javaee-6.0</artifactId>

     <groupId>org.jboss.as</groupId>
      <artifactId>jboss-as-ejb-client-bom</artifactId>

最后,jndi属性:

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

如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

我解决了以下问题

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

右键单击项目 - &gt;构建路径 - >配置构建路径 - &gt;项目标签 - &gt;添加 - >选择所需的项目 - >确定 - >确定

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

右键单击项目 - &gt;构建路径 - >配置构建路径 - &gt;项目标签 - &gt;图书馆 - &gt;添加外部JAR 浏览到jboss-client.jar文件(在Windows中,它位于JBoss_Installation / bin / client中) 选择文件,然后单击“确定”两次。

答案 1 :(得分:0)

jboss 6应该使用以下属性:

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