Я пишу клиент на C ++, который использует JNI подключиться к работающему серверу Java UnicastRemoteObject основе RMI. Это прекрасно работает, если я использую функцию JNI DefineClass для загрузки скомпилированного определения удаленного интерфейса или гарантирую, что я запускаю JVM с classpath, содержащим файл .class интерфейса.
Однако мне интересно, действительно ли это необходимо — невозможно выполнить запрос и / или вызвать интерфейс RMI-сервера без его определения на клиенте локально?
Вам нужна удаленная заглушка, которая кодирует:
… и вы не можете получить заглушку, не имея всех классов и интерфейсов, от которых она зависит, доступных через CLASSPATH или функцию кодовой базы RMI.