RMI, ClassNotFoundException - PullRequest
       5

RMI, ClassNotFoundException

0 голосов
/ 24 января 2012

в Netbeans я создал проект, содержащий интерфейс «i_object». Этот интерфейс представляет удаленный объект «impl_i_object», а «impl_i_object» реализует все методы интерфейса.один основной класс для клиента "Main_client" и один для сервера "Main_server" ... когда я запускаю сервер и клиент, его работа плавно.

enter image description here

Но когда яразделенный от моего проекта на два проекта (клиент и сервер), посмотрите на скриншот:

enter image description here

здесь, когда я запускаю сервер, он работает, но когда я запускаю клиент, он отображает этоошибка:

Exception in thread "main" java.rmi.UnmarshalException: error unmarshalling return; nested exception is: 
java.lang.ClassNotFoundException: server.i_object (no security manager: RMI class loader disabled)
at sun.rmi.registry.RegistryImpl_Stub.lookup(Unknown Source)
at java.rmi.Naming.lookup(Naming.java:101)
at client.Main_client.main(Main_client.java:24)
    Caused by: java.lang.ClassNotFoundException: server.i_object (no security manager:  RMI class loader disabled)
at sun.rmi.server.LoaderHandler.loadProxyClass(LoaderHandler.java:554)
at java.rmi.server.RMIClassLoader$2.loadProxyClass(RMIClassLoader.java:646)
at java.rmi.server.RMIClassLoader.loadProxyClass(RMIClassLoader.java:311)
at sun.rmi.server.MarshalInputStream.resolveProxyClass(MarshalInputStream.java:257)
at java.io.ObjectInputStream.readProxyDesc(ObjectInputStream.java:1549)
at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1511)
at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1750)
at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1347)
at java.io.ObjectInputStream.readObject(ObjectInputStream.java:369)
... 3 more
    Java Result: 1

в чем проблема?

Ответы [ 2 ]

0 голосов
/ 29 сентября 2015

Для меня работало создание копии интерфейса в пакете с одинаковым именем пакета на каждом сервере проекта и клиенте

0 голосов
/ 24 января 2012

там написано:

нет диспетчера безопасности: загрузчик класса RMI отключен

RMI требует для запуска диспетчера безопасности.

Пример:

http://www.coderanch.com/t/459111/java/java/no-security-manager-rmi-class

ОБНОВЛЕНИЕ: Эта ссылка говорит о безопасности в RMI

...