Когда вы десериализуете сериализованное дерево объектов, классы всех объектов должны находиться в пути к классам.В этом контексте ClassNotFoundException
, скорее всего, означает, что один из необходимых классов не находится на пути к классам.Вы должны решить эту проблему, чтобы десериализация работала.
В этом случае es4.Automobile
отсутствует.
Может ли проблема быть вызвана пользовательским исключением, которое я сделалкоторый запускается Automobile?
Единственные другие возможности, о которых я могу думать:
es4.Automobile
имеет прямую или косвенную зависимость от какого-либо другого класса, который отсутствует - статическая инициализация
es4.Automobile
или зависимого класса вызвала исключение, которое не было перехвачено внутри класса.
Но оба они должны (я думаю) иметьпривел к другой трассировке стека.
Я только что заметил, что имя пакета - es4p2, а не es4.Почему это говорит es4?Может быть потому, что программа, которая сохраняет файл, использует другое имя пакета?
Я понятия не имею, почему они отличаются.Вам нужно поговорить с тем, кто написал код / создал сериализованные объекты.Тем не менее, это наиболее вероятно причина вашей проблемы.Класс с другим именем пакета - это другой класс.Period.
Вы должны всегда выводить (или, лучше, записывать) трассировку стека при обнаружении непредвиденного исключения.Это расскажет вам (и нам) больше о том, что пошло не так, и в этом случае название класса, который отсутствует.