当前位置: 代码迷 >> java >> 如何使用jndi属性文件来使用部署在远程服务器中的服务
  详细解决方案

如何使用jndi属性文件来使用部署在远程服务器中的服务

热度:94   发布时间:2023-07-31 11:45:20.0

我有一个服务器ejb(在服务器上部署了ofc),我想通过将其添加为依赖项,然后在main函数中调用它,在其他客户端ejb应用程序中使用它。
这是代码:

package mavensayhelloclient;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import sayhellopackage.SayhelloRemote;

public abstract class Testclient {

public static void main(String[] args) throws NamingException {
    // TODO Auto-generated method stub
    InitialContext cx = new InitialContext();
    Object obj = 
    cx.lookup("mavensayhelloproject/Sayhello!sayhello
    package.SayhelloRemote");
    SayhelloRemote proxy = (SayhelloRemote) obj;
    System.out.println(proxy.sayHello("4infoB2"));
}

}

我正在使用src / main / resources包(Maven项目)中的jndi属性文件:

java.naming.factory.initial=org.jboss.naming.remote.client.InitialContextFactory
java.naming.provider.url=http-remoting://localhost:18080
jboss.naming.client.ejb.context=true

但是我得到以下异常:

线程“主”中的异常javax.naming.NoInitialContextException:需要在环境或系统属性中或作为applet参数或在应用程序资源文件中指定类名称:java.naming.factory.initial

当您在Eclipse中遇到一些奇怪的错误时,请转到您的项目:

1)删除.settings和.profile和.classpath

2)从工作区删除项目

3)将项目导入为Maven项目

  相关解决方案