web-dev-qa-db-fra.com

Comment faire pour que Java Decompiler/JD/JD-Eclipse s'exécute dans Eclipse Helios

Java Decompiler (JD) est généralement recommandé comme bon, bien, Java Decompiler. JD-Eclipse est le plugin Eclipse pour JD.

J'ai eu des problèmes sur plusieurs machines différentes pour faire fonctionner le plugin. À chaque fois que j'essayais d'ouvrir un fichier .class, l'éditeur standard "Source non trouvée" s'affichait, affichant le désassemblage de bytecode de bas niveau, pas le résultat source Java attendu d'un décompilateur.

Les documents d'installation dans http://Java.decompiler.free.fr/?q=jdeclipse ne sont pas mauvais, mais assez vagues en ce qui concerne le dépannage. 

Pour ouvrir cette question afin de collecter des informations supplémentaires: Quels problèmes avez-vous rencontrés avant que JD ne s'exécute dans Eclipse Helios? Quelle était la solution?

38
Universalspezialist

Voici les trucs que j'ai rencontrés:

1) RTFM et installez le "package redistribuable Microsoft Visual C++ 2008 SP1" mentionné En haut des documents d'installation. J'ai raté ça au début parce que les instructions Helios sont à la fin.

2) Fermez tous les onglets d'éditeur ouverts avant d'ouvrir un fichier de classe. Sinon, il est facile d'obtenir un onglet d'éditeur obsolète à partir d'une tentative précédente.

3) Ouvrez le fichier de classe dans "l'éditeur de fichier de classe Java" (et non "l'afficheur de fichier de classe Java"). Utilisez "Ouvrir avec" dans le menu contextuel pour obtenir le bon éditeur. Si les résultats vous conviennent, définissez-le comme éditeur par défaut dans les paramètres d’association de fichiers. Dans Fenêtre/Préférences Général/Editeurs/Associations de fichiers, sélectionnez * .class pour l’ouvrir avec "Java Class File Editor".

4) Ce type recommande d'installer le kit de développement logiciel Equinox SDK à partir du site de mise à jour Helios. Je l’ai fait, mais je ne suis pas sûr si cela était vraiment nécessaire. Quelqu'un sait?

5) Si les fichiers de classe que vous essayez d'afficher se trouvent dans un projet Java Eclipse, ils doivent figurer dans le chemin de génération du projet. Sinon, une exception ("Pas dans le chemin de construction") apparaîtra dans le journal des erreurs Eclipse et la décompilation échouera. J'ai ajouté les fichiers de classe en tant que dossier de bibliothèque/fichier de classe au chemin de génération.

6) Glisser/déposer un fichier de classe à partir de l'Explorateur Windows ou l'ouvrir avec Fichier/Ouvrir un fichier ... ne fonctionnera pas. Dans mes tests, je donne un message "Impossible d'ouvrir l'éditeur: le Class File Viewer ne peut pas gérer l'entrée donnée ('org.Eclipse.ui.ide.FileStoreEditorInput')." Erreur. De toute façon, c’est probablement le mauvais éditeur, voir 3).

7) Après avoir exécuté le plugin, certains fichiers ne seraient toujours pas décompilés pour une raison inconnue. Cela a disparu après la fermeture de tous les onglets, le redémarrage de Helios et la nouvelle tentative.

36
Universalspezialist

Pour que cela fonctionne dans Eclipse Juno - je devais effectuer quelques étapes supplémentaires.

En général -> Éditeurs -> Association de fichiers

  1. Sélectionnez "* .class" et marquez "Éditeur de fichier de classe" comme valeur par défaut
  2. Sélectionnez "* .class sans source" -> Ajouter -> "Editeur de fichier de classe" -> Définir par défaut
  3. Redémarrer Eclipse
11
Sandeep Singhal

Une chose simple que j'ai faite pour le faire fonctionner:

Entré dans Eclipse> Fenêtre> Préférences

(Facultatif) dans la zone de recherche "fichier" pour vous aider à couper l’arborescence des options . Passé à Général> Editeurs> Associations de fichiers.

Cliqué sur le type ".class". Ci-dessous, il y avait 2 éditeurs présents, j'ai cliqué sur le "Class File Editor" - celui avec l'icône de JD, cliqué sur le bouton "Par défaut" sur la droite.

Fait . Maintenant, toutes vos classes nous appartiennent.

6
vlad-ardelean

J'utilise Eclipse 3.7 Indigo et Windows 7 64 bits:

Ce que j'ai fait est d'installer le package redistribuable Microsoft Visual C++ 2008 SP1, comme suggéré par le site et rappelé par @Universalspezialist.

Puis installez le plugin comme indiqué sur le site: http://Java.decompiler.free.fr/?q=jdeclipse

Allez à la préférence, puis trouvez "Associations de fichiers" Cliquez sur la classe *, puis définissez la "classe File Editor" par défaut.

Redémarrez Eclipse peut-être? (Je l'ai fait, mais je ne suis pas sûr si c'est nécessaire ou non)

6
Kenston Choi

Le plugin JD-Eclipse 0.1.3 ne peut que décompiler les fichiers .class visibles à partir du chemin de classe/Chemin de construction .

Si votre classe réside dans un fichier .jar , vous pouvez simplement ajouter ce fichier jar au chemin de construction en tant que bibliothèque. Dans l'explorateur de packages, parcourez votre nouvelle bibliothèque et ouvrez la classe dans l'éditeur de fichier de classe.

Si vous voulez décompiler n'importe quelle classe du système de fichiers , elle doit résider dans la hiérarchie de dossiers appropriée et le dossier racine doit être inclus dans le chemin de génération. Voici un exemple:

  1. La classe est foo.bar.MyClass dans .../someDir / foo/bar/MyClass.class
  2. Dans votre projet Eclipse, ajoutez un dossier avec un nom arbitraire aClassDir, qui renvoie à .../someDir. 
  3. Ajoutez ce dossier lié au chemin de génération du projet.
  4. Utilisez la vue Navigateur pour naviguer et ouvrir le fichier .class dans l'éditeur de fichier de classe. (Remarque: les fichiers .class simples du système de fichiers sont masqués dans la vue Explorateur de packages.)

Remarque: Si someDir est un sous-dossier de votre projet, vous pourrez peut-être ignorer l'étape 2 (dossier de liens) et l'ajouter directement au chemin de génération. Mais cela ne fonctionne pas s'il s'agit du dossier de sortie du compilateur du projet Eclipse.

P.S. J'aimerais pouvoir double-cliquer sur n'importe quel fichier .class dans n'importe quel sous-dossier du projet sans qu'il soit nécessaire de le placer dans le chemin d'accès aux classes ...

5
leo

Plug-in JAD Decomplier pour Eclipse version 3.x et 4.x. 

site de mise à jour: http://feeling.sourceforge.net/update

Pas:

  1. Ouvrez Eclipse IDE.
  2. Cliquez sur Aide-> Installer un nouveau logiciel.
  3. Collez au-dessus de l'URL et donnez le nom en tant que JAD.
  4. Sélectionnez le décompresseur de classe Eclipse
  5. Cliquez sur Suivant et acceptez les accords.
  6. Installez-le.
  7. Redémarrez Eclipse et vérifiez maintenant.
3
MAA

Après des tests sur Juno, Kepler et Luna, j'ai découvert que JD ne fonctionnait que pour les fichiers * .class sur le chemin de compilation .

  1. Ajout du fichier jar en tant que bibliothèque d'un projet existant
  2. Allez dans Préférences-> Général-> Editeurs-> Associations de fichiers, définissez *.class without source sur Class File Editor avec une icône en forme de tasse.
3
Eliko

J'utilise jadeclipse à la place, car cela ne fonctionne pas dans Eclipse 3.6/3.7

Mise à jour du site http://webobjects.mdimension.com/jadclipse/3.6/

Intallation http://5thcross.wordpress.com/2009/05/20/installing-jadclipse-in-Eclipse/

3
Happier

si vous avez besoin de décompiler un bocal autonome, essayez JD-GUI avec le même auteur (de JD-Eclipse). C'est une application autonome (ne nécessite pas Eclipse). Il peut ouvrir les fichiers * .class et * .jar. Il est assez intéressant qu’il ait besoin d’installer .Net (comme JD-Eclipse en effet), mais sinon cela fonctionne comme un charme.

Trouvez le ici: 

http://jd.benow.ca/

Cordialement,

2
user4978669

Cela devrait fonctionner pour toutes les versions d'Eclipse même dans Spring Tool Suit (STS) . Voici les étapes

Allez à l’URL Suivez Le lien pour télécharger ou cliquez sur le lien ci-dessous pour télécharger directement Cliquez ici pour télécharger

Téléchargez JD-Eclipse. Téléchargez et décompressez le site de mise à jour JD-Eclipse,

Lancer Eclipse,

Cliquez sur "Aide> Installer un nouveau logiciel ...",

Cliquez sur le bouton "Ajouter ..." pour ajouter un nouveau référentiel,

Entrez "Site de mise à jour JD-Eclipse" et sélectionnez le répertoire du site local,

enter image description here

Sélectionnez le dossier extrait et donnez n'importe quel nom. J'ai donné JDA. Et cliquez sur ok.

enter image description here

Vérifiez le "plug-in Java Decompiler Eclipse",

enter image description here

Suivant, suivant, suivant ... et redémarrez Eclipse.

2
Varun

Étapes pour ajouter le Java Decompiler dans Eclipse:

  1. Ouvrez Eclipse IDE.
  2. Cliquez sur Aide -> Eclipse Marketplace Wizard  
  3. Dans l'onglet Recherche, recherchez le JD (JD est le mot clé pour obtenir le décompresseur de classe Eclipse). 
  4. Sélectionnez le Eclipse Class Decompiler  
  5. Cliquez sur Installer.
  6. Redémarrez Eclipse et vérifiez
1
Rahul Shende

J'ai fait les étapes 1, 2, 3 et 7. Et j'ai mis le dossier avec les fichiers de classe dans le chemin de construction du projet (clic droit, propriétés, chemin de construction Java, bibliothèques, ajouter un dossier de classe, créer un nouveau dossier, avancé >> lien vers le dossier dans le système de fichiers, parcourez, ...) puis redémarrez Eclipse.

1
juan

Il suffit de télécharger le site à partir de la page JD. J'ai pu installer à partir d'un site local dans la section Entiped sur les logiciels d'Isntalled.

0
Nunya
  1. Téléchargez le site de mise à jour JD-Eclipse ( github.com/Java-decompiler/jd-Eclipse )
  2. Lancer Eclipse,

  3. Cliquez sur "Aide> Installer un nouveau logiciel ...",

  4. Cliquez sur le bouton "Ajouter ..." pour ajouter un nouveau référentiel,

  5. Entrez "Site de mise à jour JD-Eclipse" et sélectionnez le répertoire du site local,

  6. Vérifiez le "plug-in Java Decompiler Eclipse",

  7. Suivant, suivant, suivant ... et redémarrez Eclipse.

0
Halieba