Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
[Eclipse] Open Declaration funktionert nicht mehr überall
ich habe seit Eclipse Galileo ein Problem mit bestehenden Projekten (bestehend heißt: gibts schon mindestens seit Ganymede-Zeiten). Wenn ich ein Projekt in einem anderen Projekt referenziere (über den Build Path oder über Plugin-Abhängigkeiten ist dabei egal), dann kann ich den Quellcode per F3 nicht mehr öffnen; es kommt nur "Source not found". Die Abhängigkeit neu einzutragen hilft leider nicht, es muss also am referenzierten Projekt liegen. Die class-Files werden also gefunden, ich kann auch alles verwenden, nur die entsprechenden Sourcen sind offenbar unbekannt. Wenn ich ein neues Projekt anlege und das referenziere, dann funktioniert alles, wie es soll.
Mal anschaulich an einem Beispiel:
neues Projekt P erstellen
in diesem Projekt P das bestehende Projekt X in den Build Path aufnehmen
eine Klasse aus X in einer Klasse in P verwenden
F3 auf der Verwendung
Source not found
Ich weiß, dass das eine recht allgemeine Frage ist, aber ich habe grad absolut keinen Plan, wonach ich da überhaupt schauen soll. Vielleicht kann mir ja jemand einen Tipp geben oder konkrete Dinge fragen, die zu einer Lösung führen könnten.
Danke
mK
edit:
Nachtrag: In den Projekten, die sich nicht mehr referenzieren lassen, klappt Open Declaration nicht mal mehr innerhalb des Projektes, auch wenn beide Klassen im gleichen Package sind.
danke für die Antwort. Rebuilds habe ich wegen anderen Dingen schon oft durchgeführt, das hilft leider nicht. Den Neustart mit -clean werde ich morgen mal probieren, da sitze ich wieder am betroffenen Rechner.
Was mir noch eingefallen ist: Kann es irgendwie damit zusammenhängen, dass das Projekt nicht den eclipsetypischen src-Folder hat, sondern viele src-Folder mit allen möglichen Namen? Vielleicht wurde Galileo irgendwas umgestellt und Eclipse findet zu den class-Files nicht mehr die richtigen src-Folder?
Unterschiedliche Namen sollten kein Problem sein, wenn diese in Eclipse richtig eingestellt ist. Wenn Du Source code veränderst, werden die .class files aktualisiert?
Ja, von oben erläutertem Problem abgesehen ist das Projekt ganz normal verwendbar. Die class-Files werden ganz normal gebaut und können in anderen Projekten ganz normal verwendet werden. Dass es irgendwelche Projekteigenschaften sein müssen, zeigt sich auch daran, dass ein Kollege, der das Projekt ebenfalls in Galileo hat, das gleiche Problem hat.
kannst du ja mal einfach Versuchen deinen Workspace zu duplizieren und lediglich die SRC - Verlinkungen zu entfernen. Auch wenn sich die Fehler doch etwas unterscheiden, vermute ich dennoch, dass es irgendwo mit den Classpathes zusammenhängt. Interessanterweise trat mein Fehler auch mit der Umstellung von Ganymede auf Galileo auf. Zuvor funktionierte dies auch einwandfrei.
Darüber hinaus nehm ich an, dass du schonmal versucht hast, das Projekt in einen neuen Workspace zu importieren, wo sich ausschließlich dieses Projekt befindet, um zu testen, ob der Fehler auch dort auftritt?
Vielleicht gibt auch ein Blick ins Errorlog nähere Details. Bin mir nicht sicher, ob dieser Fehler dort mit aufgeführt wird.
Danke für den Input nochmal. Leider sehe ich immer noch kein Land. Das Log schweigt sich aus und das betroffene Projekt verursacht überall diesen Fehler, egal wo es ausgecheckt wird - insofern kann es ja nur an den Metadaten liegen, aber: Die Dateien [c].classpath[/c] und [c].project[/c], sowie die Inhalte von [c].settings[/c] im Projekt unterscheiden sich nicht von anderen Projekten (abgesehen von Bezeichnern natürlich, aber das Muster ist soweit ich sehe identisch). Die src-Verlinkungen sollten auch nicht relevant sein, weil es die Sourcen des Projektes selbst betrifft - nicht die irgendwelcher angehängten Bibliotheken.
Ich habe es jetzt so gelöst, dass ich dem Projekt selbst sein eigenes src-Verzeichnis mitgeteilt habe. Damit sehe ich immerhin den Quelltext, wenn ich per F3 reinspringe. Dummerweise bin ich dann nicht im .java-File, sondern im .class-File, von dort funktioniert dann weder editieren, noch weiteres F3 (da kommt nur "The resource is not on the build path of a Java project", was natürlich Quark ist). Zum Debuggen ist der Workaround auch nicht zu gebrauchen; der Debugger kommt da irgendwie total durcheinander. Aber den brauche ich in letzter Zeit kaum. Der ultimative Workaround, um zu einer bestimmten Klasse zu kommen, um sie editieren zu können ist nur Strg-Shift-T und den Namen eingeben.