永发信息网

java rmi无法远程调用

答案:2  悬赏:50  手机版
解决时间 2021-03-21 03:41
  • 提问者网友:美人性情
  • 2021-03-20 21:56
在做一个cs架构的项目,打算用JAVA RMI在客户端对服务器端的方法进行调用,但是将调用的类在新工程中对server方法进行调用总是有异常,如果把类拷到server的项目下就可以正常执行。求大牛解答!!附测试调用函数:

package rmi.client;

import java.net.MalformedURLException;
import java.rmi.Naming;
import java.rmi.NotBoundException;
import java.rmi.RemoteException;

import model.Member;

public class Main {
public static void main(String args[]) throws RemoteException,

MalformedURLException, NotBoundException {

String url = "rmi://110.64.89.140" +
"/carpooler_Server";
RM rm = (RM) Naming.lookup(url);
Member member=new Member();
member.setAccount("asll");
member.setCellphone(15648);
member.setEmail("123@123.com");
member.setPassword("asdf");
member.setSex(true);
member.setUsername("lll");
boolean success = rm.addMember(member);
if(success)System.out.println("ok");

}
}

异常:
Exception in thread "main" java.rmi.UnmarshalException: error unmarshalling return; nested exception is:
java.lang.ClassNotFoundException: rmi.RM (no security manager: RMI class loader disabled)
at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
at java.rmi.Naming.lookup(Unknown Source)
at rmi.client.Main.main(Main.java:17)
Caused by: java.lang.ClassNotFoundException: rmi.RM (no security manager: RMI class loader disabled)
at sun.rmi.server.LoaderHandler.loadProxyClass(Unknown Source)
at java.rmi.server.RMIClassLoader$2.loadProxyClass(Unknown Source)
at java.rmi.server.RMIClassLoader.loadProxyClass(Unknown Source)
at sun.rmi.server.MarshalInputStream.resolveProxyClass(Unknown Source)
at java.io.ObjectInputStream.readProxyDesc(Unknown Source)
at java.io.ObjectInputStream.readClassDesc(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
最佳答案
  • 五星知识达人网友:枭雄戏美人
  • 2021-03-20 22:32
可以把异常信息贴出来吗?

检查一下是否启动了rmiregistry

在检查一下是否已经把变量和返回值进行了序列化。

客户端是否有stub类
全部回答
  • 1楼网友:过活
  • 2021-03-20 23:29
java.lang.classnotfoundexception: server.sayhello (no security manager: rmi class loader disabled) 缺少jar包,异常显示是缺少server.sayhello这个方法,确认新项目中是不是少了jar包。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯