Wie erhält man Methodensignaturen aus einer JAR-Datei?
Habe ich eine Drittanbieter-jar-Datei an, die mit den javadocs nur für einen Teil der API. Gibt es eine Möglichkeit mittels reverse-Engineering der jar-Datei zu erhalten, eine vollständige Liste von Klassen und Methoden?
InformationsquelleAutor der Frage MCS | 2009-06-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
jar tf
wird die Liste der Inhalte für Sie.javap
ermöglicht Ihnen zu sehen, mehr details zu den Klassen (siehe auch die tools-Anleitung).Zum Beispiel, wenn Sie eine Klasse mit dem Namen
mypkg.HelloWorld
in einem Glasmyjar.jar
dann führen Sie es wieJedoch, sind Sie sicher, dass Sie möchten, um mit dieser unveröffentlichte APIs? Es ist in der Regel eine sehr schlechte Idee.
InformationsquelleAutor der Antwort Tom Hawtin - tackline
Wie Scott schon sagte, du kannst Eclipse verwenden, um eine Menge von dem, was du bist suchen für.
Ich würde empfehlen, immer die Plugin JadClipse die Dekompilierung der .die class-Dateien on-the-fly und zeigen Sie eine aktuelle Java-code, wie das durchsuchen der Klassen in der IDE.
InformationsquelleAutor der Antwort Mike Deck
Wenn Sie mit eclipse, können Sie einfach fügen Sie es zu einem Projekt - classpath und erkunden Sie es mit dem treeview und/oder Inhalte zu unterstützen.
Ich würde davon ausgehen, andere IDEs machen können ähnliche.
Aus einem command-line-Sicht, können Sie unjar (jar-xf foo.jar) und verwenden javap für alle Dateien.
InformationsquelleAutor der Antwort Scott Stanchfield
Können Sie die Bibliothek verwenden WALA Auslesen aller Methoden-Signaturen. Sie werden jedoch brauchen, um zu laden Stub-Code für die Java-ersten. Das folgende Programm Lesen sollten alle Unterschriften:
Wenn Sie die angepasste WALA-version von hier es tut Dalvik (z.B. Android-Apps).
InformationsquelleAutor der Antwort milnet
eine schnelle Hilfe für wissen, Methoden einer normalen Klasse (nicht abstrakte Klasse),mache ich folgenden .
new classname().drücken Sie Strg+Raum für Methoden-Auflistung in eclipse.
InformationsquelleAutor der Antwort Balaswamy Vaddeman
Eclipse funktionieren würde große
Einen Java Decompiler übersetzen würde die Klassen wieder in eine semblence des source-code, den Sie untersuchen können, um mehr über die Klassen, die Methoden, Ihre Unterschrift und vielleicht auch ein paar Einblicke in gültige Werte für einige Argumente (z.B. don ' T pass null für dieses argument, oder du löst eine NullPointerException sofort). Aber die ärmel hochkrempeln, um unjar das Glas und führen Sie den decompiler gegen alle class-Dateien. Dies ist im wesentlichen das, was Eclipse tut für Hilfe-text mit undokumentierten Klassen.
Schließlich, natürlich, eine "echte Programmierer" Lesen würde byte-code direkt ohne die Notwendigkeit für einen decompiler.
InformationsquelleAutor der Antwort Bert F
Verwendung von Eclipse > Paket-Explorer, um die Klassen und Ihre Hierarchie.
Content-Assist(AutoVervollständigen-Funktion (Strg + space)) ist auch eine gute Hilfe , aber würde empfehlen mit einem unveröffentlichten API
InformationsquelleAutor der Antwort Akash Yadav