在做一个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)
java rmi无法远程调用
答案:2 悬赏:50 手机版
解决时间 2021-03-21 03:41
- 提问者网友:美人性情
- 2021-03-20 21:56
最佳答案
- 五星知识达人网友:枭雄戏美人
- 2021-03-20 22:32
可以把异常信息贴出来吗?
检查一下是否启动了rmiregistry
在检查一下是否已经把变量和返回值进行了序列化。
客户端是否有stub类
检查一下是否启动了rmiregistry
在检查一下是否已经把变量和返回值进行了序列化。
客户端是否有stub类
全部回答
- 1楼网友:过活
- 2021-03-20 23:29
java.lang.classnotfoundexception: server.sayhello (no security manager: rmi class loader disabled)
缺少jar包,异常显示是缺少server.sayhello这个方法,确认新项目中是不是少了jar包。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯