Как заставить Java Decompiler/JD/JD-Eclipse работать в Eclipse Helios
Java Decompiler (JD) обычно рекомендуется как хороший, ну, декомпилятор Java. JD-Eclipse - это плагин Eclipse для JD.
У меня были проблемы на нескольких разных машинах, чтобы запустить плагин. Всякий раз, когда я пытался открыть файл .class, стандартный редактор "Source not found" показывал бы, показывая дизассемблирование байт-кода на низком уровне, а не исходный вывод Java, который вы ожидаете от декомпилятора.
Документация по установке в http://java.decompiler.free.fr/?q=jdeclipse не плохая, но довольно неопределенная, когда дело доходит до устранения неполадок.
Открытие этого вопроса для сбора дополнительной информации: с какими проблемами вы столкнулись до того, как JD работал в Eclipse Helios? Каково было решение?
Ответы
Ответ 1
Вот материал, с которым я столкнулся:
1) RTFM и установите "Распространяемый пакет Microsoft Visual С++ 2008 SP1"
в верхней части документации по установке. Сначала я пропустил это, потому что инструкции Helios завершены.
2) Перед открытием файла класса закройте все открытые вкладки редактора. В противном случае легко получить устаревшую вкладку редактора из предыдущей попытки.
3) Откройте файл класса в "Редакторе файлов Java Class" (а не "Java File File Viewer" ). Используйте "Открыть с" в контекстном меню, чтобы получить правильный редактор. Если вы довольны результатами, сделайте его редактором по умолчанию в настройках ассоциации файлов, в разделе "Общие/Редакторы/Ассоциации файлов" выберите ".class", чтобы открыть "Редактор файлов Java Class".
4) Этот парень рекомендует установить Equinox SDK с сайта обновления Helios. Я сделал, но я не уверен, что это действительно необходимо. Кто-нибудь знает?
5) Если файлы классов, которые вы пытаетесь просмотреть, находятся в проекте Eclipse Java, они должны быть в пути построения проекта. В противном случае исключение ( "Не в пути сборки" ) появится в журнале ошибок Eclipse, и декомпиляция завершится с ошибкой. Я добавил файлы классов в виде папки библиотеки/класса в путь сборки.
6) Перетаскивание файла класса из проводника Windows или открытие его с помощью File/Open File... не будет работать. В моих тестах я даю "Не могу открыть редактор: средство просмотра файлов класса не может обрабатывать данный вход (" org.eclipse.ui.ide.FileStoreEditorInput ")". ошибка. Это, вероятно, неверный редактор, см. 3).
7) После того, как плагин в основном запущен, некоторые файлы по-прежнему не декомпилируются по неизвестной причине. Это исчезло после закрытия всех вкладок, перезапуска Helios и повторного попыток.
Ответ 2
Чтобы заставить его работать в Eclipse Juno - мне пришлось сделать несколько дополнительных шагов.
В целом → Редакторы → Ассоциация файлов
- Выберите "*.class" и пометьте "Редактор файлов классов" по умолчанию
- Выберите "*.class without source" → Добавить → "Редактор файлов классов" → Сделайте это по умолчанию
- Перезапустить eclipse
Ответ 3
Я использую Eclipse 3.7 Indigo и Windows 7 64-бит:
Что я сделал, так это установить пакет распространяемого пакета Microsoft Visual С++ 2008 с пакетом обновления 1 (SP1), предложенный сайтом, и напомнил @Universalspezialist.
Затем установите плагин, как указано на сайте: http://java.decompiler.free.fr/?q=jdeclipse
Перейдите к предпочтению, затем найдите "Ассоциации файлов",
Нажмите на *.class, а затем установите "Редактор файлов классов" по умолчанию.
Возможно перезапустить Eclipse? (Я сделал это, но я не уверен, если это необходимо или нет)
Ответ 4
Плагин J.3-eclipse 0.1.3 может только декомпилировать файлы .class, которые видны из пути к классам/пути сборки.
Если ваш класс находится в .jar, вы можете просто добавить эту банку в путь сборки в качестве другой библиотеки. В Проводнике пакетов просмотрите новую библиотеку и откройте класс в редакторе файлов классов.
Если вы хотите декомпилировать любой класс в файловой системе, он должен находиться в соответствующей папке hierachy, а корневая папка должна быть включена в путь сборки. Вот пример:
- Класс - foo.bar.MyClass in.../someDir/ foo/bar/MyClass.class
- В проекте Eclipse добавьте папку с произвольным именем aClassDir, которое ссылается на... /someDir.
- Добавьте связанную папку в путь сборки проекта.
- Используйте Navigator View для навигации и открытия файла .class в редакторе файлов классов. (Примечание. Обычные файлы .class в файловой системе скрыты в представлении "Проводник пакетов".)
Примечание. Если someDir является подпапкой вашего проекта, вы можете пропустить шаг 2 (папка с папками) и добавить его непосредственно в путь сборки. Но это не работает, если это папка вывода компилятора проекта Eclipse.
P.S. Мне жаль, что я не могу просто дважды щелкнуть любой файл .class в любой подпапке проекта, не требуя его в пути к классам...
Ответ 5
Простая вещь, которую я сделал, чтобы заставить ее работать:
Зашел в eclipse > Окно > Настройки
(Необязательно), введенный в поле поиска "файл", чтобы помочь обрезать дерево опций.
Пошел в General > Editors > Соотношения файлов.
Щелкнуть по типу ".class". Ниже присутствовали 2 редактора, я нажал на "Редактор файлов классов" - тот, у которого есть значок из JD, нажал кнопку "По умолчанию" справа.
Готово.
Теперь все ур-классы принадлежат нам.
Ответ 6
Вместо этого я использую jadeclipse, потому что он не может работать в 3.6/3.7 eclipse
Обновить сайт
http://webobjects.mdimension.com/jadclipse/3.6/
Intallation
http://5thcross.wordpress.com/2009/05/20/installing-jadclipse-in-eclipse/
Ответ 7
Плагин JAD Decomplier для Eclipse версии 3.x и 4.x.
обновить сайт: http://feeling.sourceforge.net/update
Шаги:
- Откройте Eclipse IDE.
- Нажмите "Справка" > "Установить новое программное обеспечение"
- Вставить выше URL и указать имя как JAD.
- Выберите декомпилятор класса Eclipse
- Нажмите "Далее" и примите соглашения.
- Установите его.
- Перезапустите Eclipse и проверьте сейчас.
Ответ 8
если вам нужно декомпилировать автономный jar, попробуйте JD-GUI тем же автором (JD-Eclipse). Это автономное приложение (не требует затмения). Он может открывать файлы *.class и *.jar. Интересно, что ему нужно установить .Net(как и JD-Eclipse), но в противном случае работает как прелесть.
Найдите его здесь:
http://jd.benow.ca/
Привет,
Ответ 9
Я сделал шаги 1, 2, 3 и 7. и я поместил папку с файлами класса в путь сборки проекта (щелчок правой кнопкой мыши, свойства, путь сборки java, библиотеки, добавить папку класса, создать новую папку, advanced → , ссылка на папку в файловой системе, просмотр,...), затем перезапустите eclipse.
Ответ 10
После тестирования на Juno, Kepler и Luna, я обнаружил, что JD работает только для файлов *. class на пути сборки.
- Добавление jar как lib существующего проекта
- Перейдите в раздел "Настройки" > "Общие" > "Редакторы" > "Файлы", установите
*.class without source
на Class File Editor
с помощью значка чашки
Ответ 11
Шаги по добавлению Java Decompiler в Eclipse:
- Откройте Eclipse IDE.
- Нажмите "Справка" → Мастер Eclipse Marketplace Wizard
- В закладке Поиск найдите JD (JD - ключевое слово, чтобы получить декомпилятор класса Eclipse)
- Выберите декомпилятор класса Eclipse Class
- Нажмите "Установить".
- Перезапустите Eclipse и проверьте
Ответ 12
Он должен работать для всей версии eclipse даже в Spring инструментальном костюме (STS).
Вот шаги
Перейти к URl
Следуйте ссылке для загрузки или нажмите следующую ссылку для прямой загрузки
Нажмите здесь, чтобы загрузить
Загрузите JD-Eclipse
.
Загрузите и распакуйте сайт обновления JD-Eclipse,
Запустить Eclipse,
Нажмите "Справкa > Установить новое программное обеспечение...",
Нажмите кнопку "Добавить...", чтобы добавить новый репозиторий,
Введите "Сайт обновления JD-Eclipse" и выберите локальный каталог сайта,
![введите описание изображения здесь]()
Выберите извлеченную папку и укажите любое имя. Я дал JDA
.
и нажмите "ОК".
![введите описание изображения здесь]()
Проверьте "Java Decompiler Eclipse Plug-in",
![введите описание изображения здесь]()
Далее, далее, далее... и перезапустите Eclipse.
Ответ 13
Просто загрузите сайт со страницы JD. Я смог установить с локального сайта в разделе isntalled программного обеспечения eclipse.