|
0 / 0 / 1
Регистрация: 01.04.2008
Сообщений: 9
|
|
Исключение RemoteException01.04.2008, 18:28. Показов 5179. Ответов 2
Метки нет (Все метки)
Здравствуйте! У меня следующая проблема:
Есть RMI-сервер и RMI-клиент. Обмениваются с помощью DataSetData, в клиенте переопределяются провайдер и ресолвер. Собственно основа - это пример из JBuilder переделанный для использования Interbase. Происходит следующее: при запуске сервера выдается при вызове bind RemoteException с сообщением java.rmi.ServerError: Error occurred in server thread; nested exception is: java.lang.NoClassDefFoundError: com/borland/dx/dataset/DataSetData При последующих запусках java.rmi.ServerException: RemoteException occurred in server thread; nested exception is: java.rmi.UnmarshalException: error unmarshalling arguments; nested exception is: java.io.InvalidClassException: mtepackage.dataserver.RemoteData_Stub; Local class not compatible: stream classdesc serialVersionUID=2 local class serialVersionUID=0 При этом в стеке пишется о вызове invoke хотя никаких методов сервера не вызывается, так как клиент еще не запущен. Вот еще что: если перекомпилировать без использования DataSetData, но не перезапускать RMIRegistry то все равно будет выдаваться второе исключение, а если перезапустить то все ок. Значит дело именно в DataSetData... Один раз у меня получилось запустить сервер после перекомпиляции с пустым интерфейсом и еще одной перекомпиляции но уже с реализованными методами!! А на следующий день все опять не работает... Система: Win2000, JBuilder 5.0.294.0 JavaVM 1.3.02 Может кто сталкивался с данной проблемой? PS Если это ламерский вопрос, не пинайте сильно пожалуйста
0
|
|
| 01.04.2008, 18:28 | |
|
Ответы с готовыми решениями:
2
прохожу исключение не могу понять где ошибка. мне нужно сделать свое исключение
Исключение EOleError. Как перехватить при удалении записи это исключение ? |
|
mishgun
|
|
| 01.04.2008, 22:31 | |
|
Похоже что проблема в том что VM не может найти этот объект-DataSetData
.Проверь пути. |
|
|
1 / 1 / 1
Регистрация: 18.08.2007
Сообщений: 289
|
|
| 02.04.2008, 00:17 | |
|
Ага, я кажется знаю в чём дело!
В первом случае элементарно: JVM не может найти класс com.borland.dx.dataset.DataSetData. Решение: нужно, чтобы этот класс попал туда, где сможет найти его и сервер и клиент! Если используется монолитный JAR-архив (а это в некоторых случаях лучше), тогда просто включаете в архив лучше все(!) классы com.borland.dx.* и com.borland.dx.dataset.*, но могут быть и другие классы, от которых косвенно зависят эти(их тоже надо вычислить и включить в архив). Смотрите, анализируйте, решайте. Во втором случае тоже элементарно(но не для начинающих): после каждой перекомпиляции RMI-сервера заново генерирутся класс-заглушка(сервер_Stub.java->сервер_Stub.class). На платформе Java2(в отличие от Java1.1) этот класс включает всебя весь код sceleton&stub, поэтому нужно обеспечить ИДЕНТИЧНОСТЬ ВЕРСИЙ этого файла и на клиенте и на сервере! JBuilder достаточно хорошо справляется с этим, если делать так: 1)полностью собираем('build-all') RMI-сервер, после чего появляется файл класса-заглушки(в исходном виде и уже откомпилированный), сохраняем проект; (можно ещё раз компильнуть, но уже 'compile' -- компилироваться будут только изменённые файлы ); 2) полностью собираем RMI-клиент, используя в его проекте заглушку сервера, сохраняем проект; 3) смотрим туда, где сложены *.class-файлы и удостоверяемся, что все классы присутствуют и могут работать автономно вне JBuilder-а, под стандартной JRE1.3(можно скачать с javasoft). 4) смотрим, доступен ли файл политики безопасности (для сервера и для клиента), может они не там его будут искать и не запустятся; 5) Опционально: грамотно собираем jar-архив для сервера и jar-архив для клиента, куда должно попасть всё, относящееся к проектам!
0
|
|
| 02.04.2008, 00:17 | |
|
Помогаю со студенческими работами здесь
3
Что я сделал не так?Возникло необработанное исключение по адресу 0x7434A9F2 : исключение Microsoft C++: std Avastscv.exe исключение программное исключение 0хс0000417 исключение Исключение Исключение Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|