Frage

in Eclipse (Ganymede) Ich bin Debuggen einige Code, der Apache Commons verwendet Httpclient und möchte in den Httpclient-Code treten. Ich habe den Quellcode heruntergeladen und versucht, es in der normalen Art und Weise zu befestigen (CTRL-Klick auf den Namen der Methode und verwenden Sie die Attach Source-Taste). Ich habe versucht, ohne Erfolg sowohl als externe Datei und externe Ordner zu befestigen. Ich habe Quelle angebracht, bevor ohne Probleme und zur Zeit in der Ruhe Quellcode Schritt erfolgreich.

Ich habe sogar versucht, die .classpath Datei direkt bearbeiten sourcepath manuell hinzufügen. Noch kein Glück. Aktualisieren des Projekts, einen bereinigter Build tun, Schließen und Wiedereröffnung von Eclipse lösen nicht das Problem. Frustrierend, bietet Eclipse-keine Fehlermeldung; es funktioniert einfach nicht die Quelle anschließen.

Hier sind die Einträge in .claspath:

<!-- Hibernate. Works -->
<classpathentry kind="lib" path="/myEAP/EarContent/APP-INF/lib/hibernate.jar" sourcepath="D:/Data/Download/hibernate-3.2.2.ga/hibernate-3.2/src"/>

<!-- Commons HttpClient. Will not attach -->
<classpathentry kind="lib" path="/myEAP/EarContent/APP-INF/lib/commons-httpclient.jar" sourcepath="D:/Data/Download/commons-httpclient-3.1/src/java"/>

Ich habe versucht, den Pfad zu D zu ändern. /Data/Download/commons-httpclient-3.1/src und dass entweder nicht funktioniert

Die Verzeichnisstruktur ist:

D
  Data
    Download
      commons-httpclient-3.1
        src
          java
            org
              apache
                commons
                  httpclient
                    AutoCloseInputStream.java
                    ... (and so forth)
War es hilfreich?

Lösung

Versuchen Sie es in einem Verzeichnis verweist direkt auf das Top-Level-Paket enthält, „D: /Data/Download/commons-httpclient-3.1/src/java“ für Sie. Was für mich gearbeitet wurde eine neue src Zip-Datei des Programms „org“ -Ordner und alles darunter enthält.

Hier ist mein .classpath Eintrag, (was für mich funktioniert), falls es hilft:

<classpathentry kind="lib" path="/blib/java/commons-httpclient-3.1/commons-httpclient-3.1.jar" sourcepath="/blib/java/commons-httpclient-3.1/commons-httpclient-3.1-src.zip"/>

Andere Tipps

Ich habe festgestellt, dass manchmal, Sie auf das Verzeichnis zeigen Sie davon ausgehen, würden richtig waren, und dann heißt es immer noch, dass es die Datei nicht in der beigefügten Quelle bla bla finden.

Diese Zeiten, ich habe erkannt, dass das letzte Pfadelement „src“ war. Nur auf diesem Weg Element zu entfernen (also in der Tat eine Ebene über dem tatsächlichen Pfad zeigt, wo die „org“ oder „com“ Ordner befinden) magisch macht es funktionieren.

Irgendwie scheint Eclipse-dieses „src“ Pfad Element zu implizieren falls vorhanden, und wenn Sie dann haben sie im Quellpfad enthalten, Eclipse-Drosseln. Oder so ähnlich.

Versuchen Sie, die src.zip anstelle der entpackten src Anbringen?

Versuchen Sie es mit dem Source-Pfad Ihrer Startkonfiguration hinzugefügt wird.

Quellen Anbringen ist nicht alles, was in eine Bibliothek Schritt auf dem Classpath erforderlich ist; dass Bibliothek muss auch mit Debug-Symbolen kompiliert werden. Dieser ist in der Regel kein Problem, da die meisten Java-Bibliotheken kompiliert werden und in einer solchen Art und Weise verteilt, aber wie Sie gefunden haben, sind einige von ihnen nicht.

Es ist interessant festzustellen, dass Sie tatsächlich in externe Bibliotheken auch ohne die Quelle angebracht Schritt können, kann man einfach nicht sehen, die Line-by-Line-Quellen (alle von den Debug-Informationen noch funktioniert).

Sie könnten „reparieren“ dieses Problem, indem Sie eine benutzerdefinierte Version von Commons Kompilieren Httpclient (nicht zu schwer), oder lassen Sie den ganzen „Schritt in die Bibliothek“ Idee. Als allgemeine Entwicklung der Praxis werden Bibliotheken von Drittanbietern ein Schritt in selten nützliche Informationen liefern. Ich habe es getan vielleicht einmal oder zweimal in den letzten zehn Jahren hat weder Zeit es mich tatsächlich bringen näher das Dilemma bei der Hand zu lösen.

Ich denke, Problem im Raum (oder lokalisierten) Symbole in Pfad zum Quellarchiv. Versuchen Sie es an einem anderen Ort mit einfachen Weg zu bewegen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top