Как запустить Java Decompiler / JD / JD-Eclipse в Eclipse Helios - PullRequest
39 голосов
/ 22 декабря 2010

Java Decompiler (JD) обычно рекомендуется как хороший, ну, Java Decompiler. JD-Eclipse - это подключаемый модуль Eclipse для JD.

У меня были проблемы на нескольких разных машинах, чтобы запустить плагин. Всякий раз, когда я пытался открыть файл .class, показывался стандартный редактор «Source not found», отображающий разборку низкоуровневого байт-кода, а не вывод исходных данных Java, который вы ожидаете от декомпилятора.

Документы по установке в http://java.decompiler.free.fr/?q=jdeclipse неплохие, но довольно расплывчатые, когда дело доходит до устранения неполадок.

Открытие этого вопроса для сбора дополнительной информации: с какими проблемами вы столкнулись до запуска JD в Eclipse Helios? Какое было решение?

Ответы [ 14 ]

36 голосов
/ 22 декабря 2010

Вот вещи, с которыми я столкнулся:

1) RTFM и установить упомянутый «Распространяемый пакет Microsoft Visual C ++ 2008 SP1» в верхней части установочных документов. Сначала я пропустил это, потому что инструкции Гелиоса в конце.

2) Закройте все открытые вкладки редактора перед открытием файла класса. В противном случае легко получить устаревшую вкладку редактора с предыдущей попытки.

3) Откройте файл класса в «Редакторе файлов классов Java» (не в «Средстве просмотра файлов классов Java»). Используйте «Открыть с помощью» в контекстном меню, чтобы получить правильный редактор. Если результаты вас устраивают, сделайте его редактором по умолчанию в настройках «Сопоставление файлов», в «Окне» / «Общие настройки» / «Редакторы / сопоставления файлов» выберите «* .class», чтобы открыть его в «Редакторе файлов классов Java».

4) Этот парень рекомендует установить Equinox SDK с сайта обновлений Helios. Я сделал, но я не уверен, было ли это действительно необходимо. Кто-нибудь знает?

5) Если файлы классов, которые вы пытаетесь просмотреть, находятся в проекте Eclipse Java, они должны находиться в пути сборки проекта. В противном случае в журнале ошибок Eclipse появится исключение («Не в пути сборки»), и декомпиляция завершится неудачно. Я добавил файлы классов как папку библиотеки / файла классов в путь сборки.

6) Перетаскивание файла класса из Проводника Windows или открытие его с помощью Файл / Открыть файл ... не будет работать. В моих тестах я дал «Не удалось открыть редактор: Средство просмотра файлов классов не может обработать данный ввод ('org.eclipse.ui.ide.FileStoreEditorInput')». ошибка. В любом случае это неправильный редактор, см. 3).

7) После запуска плагина в основном некоторые файлы по-прежнему не декомпилируются по неизвестной причине. Это исчезло после закрытия всех вкладок, перезапуска Helios и повторной попытки.

12 голосов
/ 10 апреля 2013

Чтобы заставить его работать в Eclipse Juno - мне пришлось сделать несколько дополнительных шагов.

В общем -> Редакторы -> Ассоциация файлов

  1. Выберите «* .class» ипометить «Редактор файлов классов» по ​​умолчанию
  2. Выбрать «* .class без источника» -> Добавить -> «Редактор файлов классов» -> Сделать его по умолчанию
  3. Перезапустить eclipse
6 голосов
/ 14 июня 2012

Плагин JD-eclipse 0.1.3 может только декомпилировать файлы .class, которые видны из classpath / Build Path .

Если ваш класс находится в .jar, вы можете просто добавить этот jar-файл в Build Path как другую библиотеку.В Package Explorer найдите новую библиотеку и откройте класс в редакторе файлов классов.

Если вы хотите декомпилировать любой класс в файловой системе , он должен находиться в соответствующей папке.иерархия, и корневая папка должна быть включена в путь сборки.Вот пример:

  1. Класс - это foo.bar.MyClass в ... / someDir / foo / bar / MyClass.class
  2. В вашем EclipseВ проект добавьте папку с произвольным именем aClassDir, которая ссылается на ... / someDir.
  3. Добавьте эту связанную папку в путь сборки проекта.
  4. Используйте представление Navigator для навигации и открытия файла .class в редакторе файлов классов.(Примечание. Обычные файлы .class в файловой системе скрыты в представлении Package Explorer.)

Примечание. Если someDir является подпапкой вашего проекта, вы можете пропустить шаг 2 (ссылкапапку) и добавьте его непосредственно в путь сборки.Но это не работает, если это выходная папка компилятора проекта Eclipse.

PS Я хотел бы просто дважды щелкнуть любой файл .class в любой подпапке проекта без необходимости иметь его в пути к классам...

6 голосов
/ 25 февраля 2012

Простая вещь, которую я сделал, чтобы заставить ее работать:

Пошел в затмении> Окно> Настройки

(Необязательно) набирается в поле поиска «файл», чтобы помочь обрезать дерево опций. Пошел в Общие> Редакторы> Файловые ассоциации.

Кликнул по типу ".class". Ниже присутствовали 2 редактора, я нажал на «Редактор файлов классов» - тот, что со значком из JD, нажал кнопку «По умолчанию» справа.

Готово. Теперь все твои классы принадлежат нам.

6 голосов
/ 10 августа 2011

Я использую 64-разрядную версию Eclipse 3.7 Indigo и Windows 7:

Я установил распространяемый пакет Microsoft Visual C ++ 2008 с пакетом обновления 1 (SP1) в соответствии с предложением сайта и напомнил @ Universalspezialist.

Затем установите плагин, как указано на сайте: http://java.decompiler.free.fr/?q=jdeclipse

Перейдите в настройки, затем найдите «Ассоциации файлов». Нажмите на * .class, затем установите «Редактор файлов класса» по умолчанию.

Перезапустить Eclipse возможно?(Я сделал это, но я не уверен, нужно ли это или нет)

3 голосов
/ 01 сентября 2017

Должно работать для всех версий Eclipse, даже в костюме для инструментов Spring (STS).Вот шаги

Перейдите на URl Перейдите по ссылке, чтобы загрузить , или нажмите нижеприведенную ссылку для прямой загрузки Нажмите здесь, чтобы загрузить

ЗагрузитьJD-Eclipse.Загрузите и распакуйте сайт обновления JD-Eclipse,

Запустите Eclipse,

Нажмите «Справка> Установить новое программное обеспечение ...»,

Нажмите кнопку «Добавить»... "чтобы добавить новый репозиторий,

Введите" Сайт обновления JD-Eclipse "и выберите каталог локального сайта,

enter image description here

Выберите извлеченную папку и дайте любое имя.Я дал JDA.и нажмите кнопку ОК.

enter image description here

Установите флажок «Подключаемый модуль Java Decompiler Eclipse»,

enter image description here

Далее, далее, далее ... и перезапустите Eclipse.

3 голосов
/ 30 ноября 2014

После тестирования на Juno, Kepler и Luna я обнаружил, что JD работает только для *. Файлов классов по пути сборки .

  1. Добавление jar как библиотеки существующегоproject
  2. Перейдите в «Настройки» -> «Основные» -> «Редакторы» -> «Ассоциации файлов», установите *.class without source в Class File Editor со значком чашки
3 голосов
/ 19 ноября 2013

Плагин JAD Decomplier для Eclipse версии 3.x и 4.x.

сайт обновления: http://feeling.sourceforge.net/update

Шаги:

  1. Откройте Eclipse IDE.
  2. Нажмите Справка-> Установить новое программное обеспечение
  3. Вставьте URL-адрес выше и введите имя как JAD.
  4. ВыберитеEclipse Class Decompiler
  5. Нажмите Next и примите соглашения
  6. Установите его.
  7. Перезапустите Eclipse и проверьте сейчас.
3 голосов
/ 05 августа 2011

Я использую вместо этого 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/

2 голосов
/ 05 июня 2015

если вам нужно декомпилировать автономный jar, попробуйте JD-GUI того же автора (из JD-Eclipse). Это отдельное приложение (не требует затмения). Он может открывать как файлы * .class, так и * .jar. Достаточно интересно, что ему нужно установить .Net (как, впрочем, и JD-Eclipse), но в остальном он работает как шарм.

Найдите это здесь:

http://jd.benow.ca/

С уважением,

...