我正在使用jboss-5.0.1 GA。 我正在尝试使用JNDI调用从本地EJB部署在远程JBoss服务器上的EJB。
我在我的本地EJB项目的类路径中包含了远程接口jar文件。我也在我的类路径中添加了jnp-client.jar,jboss-ejb3-client.jar。
我已经在远程机器上使用-b 0.0.0.0标志启动了JBoss,以确保它接受远程连接。
这是代码。
SatheBeanRemote sbr = null; //Is the remote interface for the remote bean
Properties p = new Properties();
p.put(Context.PROVIDER_URL, "jnp://10.73.17.76:1099"); //remote Jboss IP
p.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");
p.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
Context context;
try {
context = new InitialContext(p);
sbr = (SatheBeanRemote) context.lookup("RemoteEAR/SatheBean/remote");
} catch (NamingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
我收到以下异常。
javax.ejb.EJBException: Unexpected Error
java.lang.NoClassDefFoundError: com/netapp/beans/SatheBeanRemote
at com.netapp.balaji.greeting.GreetingBean.sayGreeting(GreetingBean.java:78)
任何人都可以帮我指出这个问题吗?
答案 0 :(得分:0)
可能您必须在客户端文件夹的类路径中添加EJB Project,它可能会解决问题