выполняя rmi сервер, classnotfound [дубликат]

22
задан Maurizio Pozzobon 21 January 2009 в 10:23
поделиться

3 ответа

Я вполне уверен, что необходимо будет запустить сервер RMI с помощью того же пути к классу в качестве приложения. Я полагаю, что это берет те же параметры в качестве Java, т.е. - CP [your class path].

4
ответ дан falstro 29 November 2019 в 03:22
поделиться

Хорошо я просто преодолел эту проблему. Удостоверьтесь, когда Вы работаете rmiregistry, что Ваш CLASSPATH переменная среды установлена.

, Например, у Вас мог бы быть сценарий:

set CLASSPATH=[path to jdbc driver].jar
rmiregistry.exe

Это было всем, что я должен был получить свою потерянную работу пути к классу. Я не уверен, как отправить -cp commandline к rmiregistry.exe. Его документации вполне недостает.

6
ответ дан user207421 29 November 2019 в 03:22
поделиться

Исключение происходит, потому что приложение rmiregistry не знает, откуда загружать классы. Когда вы пытаетесь связать объект в реестре RMI, реестр загружает определение класса для этого объекта. Некоторые из других ответов говорят вам, чтобы обойти это, установив classpath для приложения rmiregistry, чтобы оно имело определения классов при запуске и ничего не нужно загружать, но в руководстве по Java RMI от Sun прямо сказано не делать этого . Я подозреваю, что это может привести к конфликтам между версией класса в реестре и классом на сервере.

Правильный способ решения проблемы - установить свойство java.rmi.server.codebase таким, каким вы были пытаюсь сделать. Свойство требует, чтобы путь к каталогу заканчивался косой чертой, например так:

-Djava.rmi.server.codebase=file:${workspace_loc}/progInternet2008/

У вас также могут возникнуть проблемы, если переменная $ {workspace_loc} является относительным путем, а приложение rmiregistry не было запущено в том же каталоге, поэтому относительный путь не является правильным для этого. Если вы либо сделаете путь абсолютным, либо запустите rmiregistry в соответствующем каталоге, ClassNotFoundException должен исчезнуть. См. Руководство для свойства java.rmi.server.codebase для получения более подробной информации.

ClassNotFoundException должно исчезнуть. См. Руководство для свойства java.rmi.server.codebase для получения более подробной информации.

ClassNotFoundException должно исчезнуть. См. Руководство для свойства java.rmi.server.codebase для получения более подробной информации.

24
ответ дан 29 November 2019 в 03:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: