GWT TypeOracle.getTypes gibt nicht alle Typen zurück

8

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

arbeiten muss %Vor%

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()

zurückgegeben wurde
  • Diese ignorierten Klassen sind keine neu erstellten Klassen (einige wurden für mehrere Monate unverändert gelassen)
  • Soweit ich das beurteilen kann, gibt es keine Möglichkeit, eine Klasse zu unterscheiden, die von einer anderen Klasse ignoriert wird
  • In unserer gwt-Version wurde kein Upgrade durchgeführt (einige von uns verwenden 2.5.0, andere 2.5.1)
  • Keine Aktualisierung in Paketen, die von diesen Klassen verwendet werden
  • oracle.findType(MISSING_CLASS.class.getName()) gibt null zurück
  • Das Problem tritt nur bei einigen Personen auf, aber nicht bei denselben Klassen
  • Umbenennen problematischer Klassen scheint das Problem zu beheben

Meine beste Vermutung wäre, dass ich irgendwo ein Cache-Problem habe, aber ich habe keine Ahnung, wo ich suchen soll.

    
Garagos 07.05.2013, 13:35
quelle

3 Antworten

0

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.

    
Richard Wilkes 30.05.2013 17:18
quelle
0

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!

    
Anand Saha 08.01.2014 09:16
quelle
0

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.

Diese Frage wird gestellt Wie finde ich heraus, welche Zeile tatsächlich in dieser fehlenden Klasse stumm scheitert?

    
Geoffrey De Smet 28.04.2017 07:54
quelle

Tags und Links