Frage

Java Decompiler (JD) wird im Allgemeinen als guter Java Decompiler empfohlen. JD-Eclipse ist das Eclipse-Plugin für JD.

Ich hatte Probleme auf verschiedenen Maschinen, das Plugin zum Laufen zu bringen. Immer wenn ich versuchte, eine .Class -Datei zu öffnen, wurde der Standard -Editor "Quelle nicht gefunden" angezeigt und die Demontage von Lowlevel -Bytecode angezeigt, nicht die Java -Quellausgabe, die Sie von einem Dekompiler erwarten würden.

Installationsdokumente in http://java.decompiler.free.fr/?q=jdeclipse sind nicht schlecht, aber ziemlich vage, wenn es um Fehlerbehebung geht.

Öffnen Sie diese Frage, um zusätzliche Informationen zu sammeln: Welche Probleme haben Sie begegnet, bevor JD in Eclipse Helios ausgeführt wurde? Was war die Lösung?

War es hilfreich?

Lösung

Hier ist das Zeug, auf das ich gestoßen bin:

1) RTFM und installieren Sie das "Microsoft Visual C ++ 2008 SP1 SP1 Redidributable -Paket" oben in den Installationsdokumenten. Ich habe das zunächst verpasst, weil die Helios -Anweisungen am Ende sind.

2) Schließen Sie alle Registerkarten für geöffnete Editor, bevor Sie eine Klassendatei öffnen. Andernfalls ist es einfach, einen veralteten Editor -Registerkarte von einem früheren Versuch zu erhalten.

3) Öffnen Sie die Klassendatei im "Java -Klassendatei -Editor" (nicht "Java -Klassendatei -Viewer"). Verwenden Sie im Kontextmenü "Öffnen Sie", um den richtigen Editor zu erhalten. Wenn Sie mit den Ergebnissen zufrieden sind, machen Sie es zum Standard -Editor in den Einstellungen der Dateivereinigung in Fenster/Präferenz General/Editors/Datei -Assoziationen Auswählen *.class, um mit "Java -Klassendatei -Editor" zu öffnen.

4) Dieser Typ Empfiehlt die Installation des Equinox SDK von der Helios -Update -Site. Ich habe es getan, aber ich bin mir nicht sicher, ob das wirklich notwendig war. Weiß jemand?

5) Wenn die Klassendateien, die Sie anzeigen möchten, in einem Eclipse Java -Projekt befinden, müssen sie sich im Build -Pfad des Projekts befinden. Andernfalls wird eine Ausnahme ("nicht im Build -Pfad") im Eclipse -Fehlerprotokoll angezeigt, und Decompile fällt fehl. Ich habe die Klassendateien als Bibliotheks- / Klassendateiordner zum Build -Pfad hinzugefügt.

6) Ziehen/Löschen einer Klassendatei von Windows Explorer oder öffnen Sie sie mit Datei-/Öffnendatei ... funktioniert nicht. In meinen Tests gibt ich einen "Ich konnte den Editor nicht öffnen: Der Klassendatei -Viewer kann die angegebene Eingabe nicht verarbeiten ('org.eclipse.ui.ide.FileSeDitorInput')." Error. Das ist wahrscheinlich sowieso der falsche Herausgeber, siehe 3).

7) Nachdem das Plugin im Grunde genommen ausgeführt wurde, würden einige Dateien aus einem unbekannten Grund immer noch nicht zerlegt. Dies verschwand, nachdem er alle Registerkarten geschlossen, Helios neu gestartet und erneut versucht hatte.

Andere Tipps

Damit es in Eclipse Juno funktioniert, musste ich einige zusätzliche Schritte ausführen.

Im Allgemeinen -> Editoren -> Dateivereinigung

  1. Wählen Sie "*.class" und markieren Sie "Klassendateieditor" als Standardeinstellung
  2. Wählen Sie "*.class ohne Quelle" -> hinzufügen -> "Klassendatei -Editor" -> Machen Sie es als Standard
  3. Starten Sie die Sonnenfinsternis neu

Ich verwende Eclipse 3.7 Indigo und Windows 7 64-Bit:

Ich habe das Microsoft Visual C ++ 2008 SP1 SP1 -Neuverteilungspaket installiert, wie von der Website vorgeschlagen und von @Universspezialist erinnert.

Installieren Sie dann das Plugin wie in der Website angegeben: http://java.decompiler.free.fr/?q=jdeclipse

Gehen Sie zur Präferenz und finden Sie dann "Dateivereinigungen" auf die *.class klicken und dann den "Klassendateieditor" als Standard festlegen.

Starten Sie die Sonnenfinsternis vielleicht neu? (Ich habe das getan, aber ich bin mir nicht sicher, ob es notwendig ist oder nicht)

Einfache Sache, die ich getan habe, um es zum Laufen zu bringen:

Ging in Eclipse> Fenster> Einstellungen

(Optional) In das Suchfeld "Datei" getippt, um den Optionsbaum zu trimmen. Ging zu General> Editors> Dateiverbände.

Klickte auf den Typ ".class". Unten waren 2 Redakteure anwesend. Ich habe auf den "Klassendatei -Editor" geklickt - das mit dem Symbol von JD, auf die Schaltfläche "Standard" auf der rechten Seite.

Fertig. Jetzt gehören uns alle Ihre Klasse.

Das JD-Eclipse-Plugin 0.1.3 kann nur dekompile. Klassendateien, die aus dem Klassenpfad/Build -Pfad sichtbar sind.

Wenn dein Klasse wohnt in einem .jar, Sie können dieses Glas einfach als eine andere Bibliothek zum Build -Pfad hinzufügen. Stöbern Sie aus dem Paket Explorer Ihre neue Bibliothek und öffnen Sie die Klasse im Klassendateieditor.

Wenn Sie zersetzen wollen jede Klasse auf dem Dateisystem, Es muss sich in der entsprechenden Ordner Hierachy befinden, und der Root -Ordner muss in den Build -Pfad enthalten sein. Hier ist ein Beispiel:

  1. Klasse ist foo.bar.myclass in .../somedir/foo/bar/myclass.class
  2. Fügen Sie in Ihrem Eclipse -Projekt einen Ordner mit willkürlichem Namen Aclassdir hinzu, der zu .../SOMEDIR verknüpft.
  3. Fügen Sie diesen verknüpften Ordner zum Build -Pfad des Projekts hinzu.
  4. Verwenden Sie die Navigator -Ansicht, um die .class -Datei im Klassendateieditor zu navigieren und zu öffnen. (HINWEIS: Klassenklasse auf dem Dateisystem sind in der Paket -Explorer -Ansicht versteckt.)

Hinweis: Wenn eines Tages ein Unterordner Ihres Projekts ist, können Sie möglicherweise Schritt 2 (Linkordner) überspringen und direkt zum Build -Pfad hinzufügen. Das funktioniert jedoch nicht, wenn es sich um den Compiler -Ausgangsordner des Eclipse -Projekts handelt.

PS Ich wünschte, ich könnte einfach auf jede .class -Datei in jedem Projektunterordner klicken, ohne sie im Klassenpfad zu haben ...

Es sollte für alle Versionen von Eclipse auch im Feder Tool Suit (STS) funktionieren. Hier sind die Schritte

In die URL gehenFolgen Sie dem Link zum Download Oder klicken Sie auf den Bellow -Link, um direkt herunterzuladenKlicke hier zum herunterladen

Download JD-Eclipse. Laden Sie die JD-Eclipse-Update-Site herunter und öffnen Sie sie.

Eclipse starten,

Klicken Sie auf "Hilfe> Neue Software installieren ...".

Klicken Sie auf die Schaltfläche "Hinzufügen ...", um ein neues Repository hinzuzufügen.

Geben Sie "JD-Eclipse Update-Site" ein und wählen Sie das lokale Site-Verzeichnis.

enter image description here

Wählen Sie extrahierter Ordner und geben Sie einen beliebigen Namen an. ich habe gegeben JDA. und klicken Sie auf OK.

enter image description here

Überprüfen Sie "Java Decompiler Eclipse Plug-In".

enter image description here

Als nächstes als nächstes ... und die Sonnenfinsternis neu starten.

Ich benutze stattdessen JADECLIPSE, da sie nicht in Eclipse 3.6/3.7 funktionieren kann

Site aktualisierenhttp://webobjects.mdimension.com/jadclipse/3.6/

Intallationhttp://5thcross.wordpress.com/2009/05/20/installing-jadclipse-in-eclipse/

Jad Decomplinier Plug-In für Eclipse Version 3.x und 4.x.

Site aktualisieren: http://feeling.sourceforge.net/update

Schritte:

  1. Offene Sonnenfinsternis IDE.
  2. Klicken Sie auf Help-> Neue Software installieren
  3. Fügen Sie über URL ein und geben Sie den Namen als JAD an.
  4. Wählen Sie den Dekompiler der Eclipse -Klasse aus
  5. Klicken Sie auf Weiter und akzeptieren Sie Vereinbarungen
  6. Es installieren.
  7. Starten Sie die Sonnenfinsternis neu und überprüfen Sie jetzt.

Nachdem ich auf Juno, Kepler und Luna getestet hatte, fand ich JD nur für *.Classdateien auf Build -Pfad.

  1. Hinzufügen des Glas als Bibliothek eines vorhandenen Projekts
  2. Gehen Sie zu Einstellungen-> Allgemein-> Editoren-> Dateivereinigungen, festgelegt *.class without source zu Class File Editor mit einer Tassensymbol

Wenn Sie das eigenständige Jar-Jar-Versuch von demselben Autor (von JD-Eclipse) dekompilieren müssen. Es handelt sich um eine eigenständige Anwendung (braucht keine Sonnenfinsternis). Es kann sowohl *.Class- als auch *.jar -Dateien öffnen. Interessant genug, es muss .NET installiert (wie JD-Eclipse in der Tat), funktioniert aber ansonsten wie ein Zauber.

Finde es hier:

http://jd.benow.ca/

Grüße,

Ich habe die Schritte 1, 2, 3 und die 7. und ich habe den Ordner mit den Klassendateien im Projekt Build -Pfad eingestellt (rechte Klick, Eigenschaften, Java -Build -Pfad, Bibliotheken, Klassenordner hinzufügen, neuer Ordner erstellen, erweitert >> , Link zum Ordner im Dateisystem, durchsuchen, ...) und starten Sie die Sonnenfinsternis neu.

Schritte zum Hinzufügen des Java Decompiler in Eclipse:

  1. Offene Sonnenfinsternis IDE.
  2. Klicken Sie auf Help->Eclipse Marketplace Assistent
  3. Suchen Sie auf der Registerkarte "Such" das JD (JD ist Schlüsselwort, um die Eclipse Class Decompiler zu erhalten)
  4. Wähle aus Eclipse Class Decompiler
  5. Klicken Sie auf Installation.
  6. Starten Sie die Sonnenfinsternis neu und überprüfen Sie

Laden Sie einfach die Website von der JD -Seite herunter. Ich konnte von einer lokalen Site im Abschnitt "ISness" -Software von Eclipse von iStalled Software installiert werden.

  1. Laden Sie die JD-Eclipse-Update-Site herunter (github.com/javadecompiler/jd-eclipse)
  2. Eclipse starten,

  3. Klicken Sie auf "Hilfe> Neue Software installieren ...".

  4. Klicken Sie auf die Schaltfläche "Hinzufügen ...", um ein neues Repository hinzuzufügen.

  5. Geben Sie "JD-Eclipse Update-Site" ein und wählen Sie das lokale Site-Verzeichnis.

  6. Überprüfen Sie "Java Decompiler Eclipse Plug-In".

  7. Als nächstes als nächstes ... und die Sonnenfinsternis neu starten.

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