Нет. Все эти ответы неверны.
Классы не должны существовать с обеих сторон, если вы используете функцию кодовой базы RMI. Вы можете настроить веб-сервер для размещения файлов JAR и установить -Djava.rmi.server.codebase =, чтобы определить, где эти классы доступны в виде списка URL-адресов этих файлов JAR. Вы устанавливаете это либо на сервере, либо на клиенте, либо на обоих, в зависимости от того, кто будет отправлять классы, которых у другой стороны нет. Затем RMI аннотирует эти классы этими URL-адресами, чтобы цель знала, где их получить, и загружает их при необходимости.