java.lang.ClassNotFoundException:org.jboss.naming.remote.client.InitialContextFactory

java.lang.ClassNotFoundException:org.jboss.naming.remote.client.InitialContextFactory,java,class,jboss,wildfly-8,Java,Class,Jboss,Wildfly 8,我将jboss-4.0.4.GA迁移到wildfly-8.1.0.Final。在部署我的EAR时,我遇到以下错误: 2014-07-10 17:09:44900错误[stderr](默认任务1) javax.naming.NamingException:JBAS011843:实例化失败 InitialContextFactory classloader中的org.jboss.naming.remote.client.InitialContextFactory 模块的ModuleClassLoad

我将jboss-4.0.4.GA迁移到wildfly-8.1.0.Final。在部署我的EAR时,我遇到以下错误:

2014-07-10 17:09:44900错误[stderr](默认任务1) javax.naming.NamingException:JBAS011843:实例化失败 InitialContextFactory classloader中的org.jboss.naming.remote.client.InitialContextFactory 模块的ModuleClassLoader 服务模块中的“deployment.wildfly.ear.wildfly war.war:main” Loader[根异常为java.lang.ClassNotFoundException: org.jboss.naming.remote.client.InitialContextFactory来自[模块] 服务模块中的“deployment.wildfly.ear.wildfly war.war:main” 加载器]]

我的代码:

Properties appProp = new Properties();
appProp.put(Context.INITIAL_CONTEXT_FACTORY, CGProperties.initial_context_factory);
appProp.put(Context.PROVIDER_URL, CGProperties.provider_url);
appProp.put("java.naming.rmi.security.manager", "yes");
appProp.put(Context.URL_PKG_PREFIXES, "org.jboss.naming");
appProp.put("jboss.naming.client.ejb.context","true");
context = new InitialContext(appProp);
//context = new InitialContext();

if(serverName.equalsIgnoreCase("JBOSS")) {
    ds = (javax.sql.DataSource) context.lookup(CGProperties.dsName);
    reportDS=(javax.sql.DataSource) context.lookup(CGProperties.reportdsName);
}

请帮助我解决此错误。

需要添加jboss-client.jar或包含相应的WildFly模块

正如所回答的那样,standalone-full.xml中的以下配置起到了作用:

    <subsystem xmlns="urn:jboss:domain:ee:4.0"><!-- ee:2.0  in WildFly 8 -->
                <global-modules>
                    <module name="org.jboss.remote-naming"/>
                </global-modules>
...

...

它允许在另一个WildFly服务器上查找远程连接。

您可以发布您在项目中添加的JAR列表吗。检查是否添加了jboss客户端jar。这是必需的。Thax对于您的回复Neeraj:)我在wildfly-8.1.0.Final\bin\client中有jboss-client.jar。如何将这个jar全局y添加到我的应用程序中