Как я могу декомпилировать много банок одновременно? - PullRequest
5 голосов
/ 25 января 2011

Ну, я полагаю, что субъект все это говорит:)

Идеальное решение - найти все файлы jar в определенной папке (они могут быть в подпапках) и записать все найденные источники в один "директория src ", конечно же, поддержка папок пакетов.

Конкретный вариант использования: декомпилировать все jar плагина Eclipse

Ответы [ 5 ]

23 голосов
/ 25 января 2011

Скачать JAD Декомпилятор .

  • Разархивируйте все ваши файлы jar (используя команду jar xvf) в какой-либо каталог Давайте назовем это ${unjar.dir}.

  • Создайте каталог для JAD для записи декомпилированных источников. Давайте назовем это ${target.dir}.

  • Выполнить следующую команду:

    jad -o -r -sjava -d${target.dir} ${unjar.dir}/**/*.class

варианты:

-o       - overwrite output files without confirmation
-r       - restore package directory structure
-s <ext> - output file extension (default: .jad)
2 голосов
/ 25 января 2011
1 голос
/ 29 декабря 2015

Я написал инструмент с именами code-collection, используя shell script и cfr до find и decompile всех jar, war файлов одновременно.

После декомпиляции файлов jar, war вы можете использовать мой инструмент для поиска и копирования всех конкретных файлов (например, .js, .html) в новый каталог.

enter image description here

Посетите мой проект по адресу: коллекция кодов

1 голос
/ 25 января 2011

декомпилировать плагины затмения ??

Помимо наличия технического решения - (1) вы можете получить все исходные файлы для (официальных) плагинов Eclipse в виде пакетов и (2) не ожидать, что результаты декомпилятора будут скомпилированы или могут быть использованы для отладки код.

Так что если вы хотите изучить источник затмения и его плагинов, декомпиляция это ... скажем .. не лучшая идея.

0 голосов
/ 20 октября 2017

Эквивалентная команда Windows для этого будет:

jad -o -r -sjava -d "target.dir" "unjar.dir/**/*.class"
...