2012-04-06 8 views
1

Zusammen mit vielen Klassenauflösungsfehlern begann mein Projekt plötzlich, diesen Fehler auf dem Paket anzuzeigen:Grails-Projekt in STS beschädigt?

Der Typ groovy.lang.MetaClass kann nicht aufgelöst werden. Es wird indirekt von erforderlichen .class-Dateien referenziert - Der Typ groovy.lang.GroovyObject kann nicht aufgelöst werden. Es wird indirekt von .class- Dateien erforderlich verweist

ich auch festgestellt, dass das Gerät alle auf der Suchtest Anmerkung diese Fehler kompilieren und angezeigt werden Prüfungen nicht:

- Groovy:class TestFor is not an annotation in @TestFor 
- Groovy:unable to resolve class TestFor , unable to find class for 
annotation 

Ich habe das Projekt dann versucht zu reinigen Abhängigkeiten zu aktualisieren, aber immer noch keine Freude. Ich habe ganz STS und neustart und probiere auch das Clean/Refresh aus.

Ich bekomme einen Kompilierfehler auf einer meiner .groovy-Dateien, die sich über undefinierte Klassen beschweren - aber ich habe das JAR, das diese Klassen definiert, zu meinem lib-Ordner hinzugefügt und keine Fehler beim Import der Klasse gesehen.

Irgendwelche Vorschläge? Muss ich das gesamte Projekt neu aufbauen?

+0

Macht nichts. Irgendwie gelang es mir, meine Grails Dependencies zu hämmern - es ist komplett leer. Also natürlich hat nichts geklappt. Jetzt muss ich diese Liste neu erstellen.

+0

Der Schlüssel war zu sehen, dass GrailsDependencies unter Klassenpfad eine "nicht initialisierte" Warnung hatte. Es könnte sogar in rot sein - aber ich bin teilweise farbenblind (macht die Arbeit mit Gurke sehr interessant) und so habe ich es nicht bemerkt. –

Antwort

1

Es stellt sich heraus, dass ein undefiniertes Symbol, das die Kompilierung beendet hat, dieses Ergebnis hatte. Ich war nicht vertraut mit der Art und Weise, wie STS/Eclipse einen Fehler beim Auflösen einer Klasse behandelt, und hatte erwartet, dass der Klassenpfad definiert wurde, bevor irgendwelche tatsächlichen Kompilierungen abgeschlossen wurden.

Also die Antwort ist, in das Fehlerprotokoll für STS zu suchen, zu bestimmen, ob eine meiner Klassen fehlt, und das zuerst aufzulösen, bevor ich einen Pfad wie diesen hase.