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?
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.
Pour que cela fonctionne dans Eclipse Juno - je devais effectuer quelques étapes supplémentaires.
En général -> Éditeurs -> Association de fichiers
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.
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)
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:
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 ...
Plug-in JAD Decomplier pour Eclipse version 3.x et 4.x.
site de mise à jour: http://feeling.sourceforge.net/update
Pas:
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 .
*.class without source
sur Class File Editor
avec une icône en forme de tasse.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/
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:
Cordialement,
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,
Sélectionnez le dossier extrait et donnez n'importe quel nom. J'ai donné JDA
. Et cliquez sur ok.
Vérifiez le "plug-in Java Decompiler Eclipse",
Suivant, suivant, suivant ... et redémarrez Eclipse.
Étapes pour ajouter le Java Decompiler dans Eclipse:
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.
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.
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,
Vérifiez le "plug-in Java Decompiler Eclipse",
Suivant, suivant, suivant ... et redémarrez Eclipse.