Ich habe einen benutzerdefinierten Generator, der Code nur für einige Klassen in meinem Projekt generiert. Der folgende Code steht am Anfang der generate
-Methode und stellt alle Klassen dar, an denen ich in der clazzes
-Liste
Dieser Code ist seit mehr als einem Jahr unverändert, aber seit letzter Woche scheint es, dass ein paar Klassen vom Generator nicht berücksichtigt werden.
Nach einigen Ausgrabungen habe ich festgestellt, dass diese Klassen nicht einmal in der Liste sind, die von oracle.getTypes()
oracle.findType(MISSING_CLASS.class.getName())
gibt null
zurück
Meine beste Vermutung wäre, dass ich irgendwo ein Cache-Problem habe, aber ich habe keine Ahnung, wo ich suchen soll.
Wie Mark Tielemans in seinem Kommentar sagte, lösche dein gwt-UnitCache-Verzeichnis (sollte im Eclipse-Stammverzeichnis des Projekts liegen) und neu aufbauen. Das sollte das Problem für Sie beheben.
Vielleicht zu spät für die Antwort, aber ich war in den letzten drei Tagen mit diesem Problem konfrontiert. Keine Menge von Clearing gwt-UnitCache Ordner half. Endlich das Problem gefunden. Die Klasse, die nicht von Orakel aufgenommen wurde, hatte einen Verweis auf eine gwt-ext-Klasse und ich hatte gwt-ext in meiner Moduldefinition (.gwt.xml-Datei) nicht geerbt. Durch das Entfernen dieser Referenz wurde das Problem behoben. Wenn Sie also etwas in Ihrer Klasse verwenden, auf das in Ihrer Moduldefinition möglicherweise nicht verwiesen wird oder das nicht Teil der Klasse ist, kann Ihre Klasse nicht von Oracle abgeholt werden. Prost!
T Die fehlende Klasse kompiliert nicht richtig und dies schlägt im Stillen fehl. Eine typische Ursache sind Superquellen , da sonst die normale Java-Kompilierung bereits fehlgeschlagen wäre.
Tags und Links gwt java code-generation types