Java RMI клиент и сервер отдельные машины

Я хочу отредактировать пример RMI hello world для работы с клиентом и сервером на разных машинах, но я застрял с непоправимой ошибкой возврата.

Если я запускаю клиент и сервер в одном проекте на NetBeans, они работают нормально, но когда я разделил их, я отредактировал оператор try на стороне клиента:

try {
    Registry registry = LocateRegistry.getRegistry("localhost");
    String[] c = registry.list();
    System.out.println(c[0].toString());
    Remote lookup = Naming.lookup("HelloServer");                                             
} catch (Exception e) {
    System.out.println("HelloClient exception: " + e.getMessage());
}

без Remote lookup = Naming.lookup("HelloServer");, команда печати выдает "HelloServer", что правильно, но когда я создаю удаленный объект, я получаю эту ошибку:

HelloClient exception: error unmarshalling return; nested exception is: 
java.lang.ClassNotFoundException: rmimain.Hello

Я проверил политику, и она работает нормально, любая помощь будет высоко ценится.

1 ответ

Решение

У вашего клиента нет класса rmimain.Hello в CLASSPATH.

Другие вопросы по тегам