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

问题描述 投票:0回答:1

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

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包中的jndi属性文件(maven项目):

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

但我得到以下异常:

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

java java-ee jndi
1个回答
-1
投票

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

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

2)从工作区中删除项目

3)将项目导入为maven项目

© www.soinside.com 2019 - 2024. All rights reserved.