0

Я пытаюсь передать объект, переданный моим клиентским приложением, в объект того же класса в моем серверном приложении.ClassNotFoundException в ObjectInputStream.readObject()

Ошибки Я в настоящее время получаю в моем приложении сервера является:

mei 02, 2012 11:44:43 PM server.UserThread process 
SEVERE: null 
java.lang.ClassNotFoundException: client.User 

Объекта принимается сервер через сокет -> ObjectInputStream.

Так что мне было интересно, если вы, ребята, могли бы помочь мне включить класс client.User в мой класс Server.User. Единственное, что работает, заключается в размещении пакетов внутри одного проекта и определении точного местоположения класса.

Код всегда может поставляться.

+1

«ClassNotFoundException» предполагает, что ваш сервер не имеет доступа к тому же файлу класса, который используется в клиенте. Вы делаете что-то смешное с загрузчиками классов? –

+1

Вы создали 2 одинаковых класса или используете ** тот же ** класс? Вы должны использовать позже. – twain249

+0

Показанный код может помочь. –

ответ

1

бросил класс client.User к моему Server.User класса

Вы не можете. Они не одни и те же. Они находятся в разных пакетах. Они разные. Если вы хотите разделить класс между сервером и клиентом, вам нужно предоставить один файл .class. Это может означать создание третьего пакета для совместного использования.

+0

Благодарим вас после нескольких проб и ошибок. Я нашел идеальное решение. Это очень помогло. – Orion

+0

* Вы * нашли? * I * предоставлен. – EJP

0

Классы должны быть такими же, как некоторые пользователи предлагают в ответ на ваш вопрос. Это не похоже на хороший выбор, чтобы использовать стандартные сериализации, чтобы сгладить и раздуть ваши объекты. Вы можете определить свой собственный протокол, если вы используете интерфейс Externalizable, вместо Serializable, вы можете использовать writeExternal и readExternal для настройки просеизаций.

Если вы пытаетесь отправить объект с сервера на клиент, я действительно препятствую использованию потоков объектов. Могу ли я предложить Protobuff для этого?

Protobuff:

протокол Буфера представляют собой способ кодирования структурированных данных в эффективном еще расширяемый формат. Google использует протокольные буферы практически для всех своих внутренних протоколов RPC и форматов файлов.

Смежные вопросы