2012-03-20 1 views
3

У меня есть java-файл jar, состоящий из некоторых классов, каждый класс имеет некоторые переменные, константы, функции, ...Как извлечь символы, определенные в файле jar, используя Delphi?

Я хочу извлечь имя этих классов, переменных, констант, функций и параметров функции в моем Delphi.

работа подобный JD-GUI. Как я могу это сделать? Есть ли какая-нибудь команда java sdk для этого?

+0

Подождите, просто чтобы понять, что вы хотите декомпилировать Java-Bytecode в Delphi? – Bobby

+0

декомпилировать с языка программирования на другой ... Я не думаю, что вы можете это сделать. – RBA

+2

Похоже, что Вахид просто хочет перечислить символы в JAR-файле –

ответ

1

Эмиль М. Сантос выполнил эту работу за вас.

Он автор Class Explorer: утилита для просмотра низкоуровневого содержимого файла скомпилированного класса Java (.class).

http://www.codexterity.com/images/classexp_shot1.gif

Вы можете захватить его (Delphi наверняка) исходного кода here.

Удачи.

+0

Спасибо, это хорошо, но я не могу скачать его! Ссылка сломана, есть ли у вас еще одна ссылка на нее? – Vahid

+0

Добро пожаловать. По вашему запросу я могу отправить его вам в виде прикрепленного файла по электронной почте. – menjaraz

+0

Вы можете попробовать еще раз, http://www.codexterity.com/, как оказалось, временно. Если вы видите скриншот в сообщении, все будет хорошо. – menjaraz

2

Я как-то написал парсер класса для Delphi. Вы можете найти его здесь:

http://essmodel.cvs.sourceforge.net/viewvc/essmodel/essmodel/Integrator/CodeIO/JavaClass/

Именно с 2004 года, но все равно должны работать, если формат файла класса не сильно изменился с тех пор.

Парсер является частью бесплатного инструмента ESS-Model, который создает диаграммы статического класса.

Обратите внимание, что анализатор работает только с файлами классов. Если вы хотите разобрать jar-файлы, вам нужно сначала разархивировать jar-файл и извлечь содержащиеся в нем файлы классов (jar-файл - это всего лишь стандартный zip-файл с расширением «.jar»).

+0

У вас есть демо-приложение, которое показывает, как его использовать? – Vahid

+0

@ Vahid: Я настоятельно рекомендую вам скачать ** ESS-Model ** и использовать его, нет необходимости в другом демонстрационном приложении. Я использовал его в прошлом и был доволен. – menjaraz

+0

@Vahid: Да, вы можете скачать ESS-Model по ссылке выше. Это всего лишь небольшой exe-файл, который не требует установки. Затем просто используйте File - Open, чтобы открыть файл класса, чтобы увидеть, как он работает. uJavaClassImport.pas - источник, который читает файл класса и создает из него объектную модель. –

 Смежные вопросы

  • Нет связанных вопросов^_^