Как заставить 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, нажал кнопку "По умолчанию" справа.

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

Ответ 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.