Eclipse: как декомпилировать jar и загрузить его как проект - PullRequest
8 голосов
/ 10 августа 2010

как мне декомпилировать jar-файл и загрузить его как проект в Eclipse, чтобы я мог изменить код?Ищете руководство или любое понимание опыта с ним.

Ответы [ 2 ]

3 голосов
/ 10 августа 2010

Если у вас также нет исходного кода (в JAR или отдельно), тогда лучшее, что вы можете сделать, - это использовать декомпилятор Java.В зависимости от того, как код был скомпилирован в первую очередь, это может генерировать исходный код, который значительно отличается от того, что написал первоначальный автор (хотя, конечно, функционально идентичен).Например, некоторые параметры оптимизатора могут привести к перезаписи циклов и удалению локальных переменных.Некоторые параметры отладки могут привести к удалению имен локальных переменных, поэтому декомпилятору придется придумывать (бессмысленные) имена для них и т. Д.

Я бы также спросил, является ли то, что вы хотите сделать, допустимым.Как правило, если проект лицензирован для модификации, его исходный код будет доступен, и вам не нужно будет делать то, что вы предлагаете.

0 голосов
/ 10 августа 2010

Я использовал декомпилятор Cavaj, и он работал очень хорошо для меня. Вы можете просто открыть файл jar с помощью любой разархивирующей программы, например, 7zip, файлы .jar на самом деле являются просто файлами zip. Тогда все, что вам нужно сделать, это передать файлы .class в Cavaj. Файлы .class организованы по пакетам, поэтому com. Foo.Bar будет com / foo / Bar.class внутри .jar

Как сказал Дэнни, законность может быть сомнительной в зависимости от ситуации. Я только использовал его, чтобы посмотреть на источник для более старой версии приложения, которое я написал, но у которого больше не было источника.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...