Warum erhalte ich eine InvalidClassException 'kein Gültiger Konstruktor', wenn Erben von einer abstrakten Serialisierbar?

hier ist der code (vereinfacht):

public abstract class PageBase implements Serializable {
     private static final long serialVersionUID = -31905358958878336L;
}

public abstract class ListPage extends PageBase {

    public Controller getController() {
         //Controller is a class
         //that implements Serializable and does have an def. constr.
         return new Controller() {
              @Override
              public void someMethod() {
                  //DoSomething
              }
         };
    }
}

public class ProjectList extends ListPage {
}

und durch Deserialisierung es wirft:

java.io.InvalidClassException: my.pkg.page.ListPage$1; no valid constructor

Die Deserialisierung stattfindet, irgendwo in der IBM JSF-Code.

Irgendwelche Ideen? Danke!

  • zeigen Sie den code instanziiert das Objekt und übergibt es für die Serialisierung
  • Sorry, ich habe nicht diese Informationen - es ist das JSF-Framework, das versucht, die Deserialisierung...
  • Sie haben also nicht erstellt eine anonyme innere Klasse von ListPage irgendwo?
  • Tatsächlich, ich haben. Vielen Dank für diesen Hinweis - Bitte siehe meine edits. Aber warum würde der Konstruktor der Klasse eine Rolle?
InformationsquelleAutor Zeemee | 2010-08-26
Schreibe einen Kommentar