| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java: Общие вопросы > Принудительная компиляция в Java |
| Автор: Viroman 9.2.2010, 19:27 |
| Добрый день форумчане, возник очень трепещущий вопрос, как скомпилировать исходник принудительно не имея всех запрашиваемых библиотек. Просто чтобы компилятор скомпилил исходник и не трепыхал мозги, что типа та и та библиотека отсутствуют во время компиляции. Именно такой подход мне очень нужен, буду вам весьма признателен! |
| Автор: ivanovpv 9.2.2010, 19:44 |
| В лобовую это невозможно ибо компилятор должен знать структуру класса который лежит в либе. Скажем вы пишете что будете вызывать метод foo() класса MyFoo - а библиотеки нет. Каким образом компилятор догадается, что метод foo() есть или если и есть то у него именно такая сигнатура? Так что без библиотеки .class файла вы не получите. С другой стороны вы видимо просто хотите понимать синтаксически правильно написан код или нет? Если так то самый простой способ загрузить текст файла в какой-нить IDE (например NetBeans или Eclipse или Idea) и он вам сразу же покажет где у вас синтаксические косяки. |
| Автор: Viroman 9.2.2010, 20:07 |
| Переформирую вопрос, знаком ли вам хороший декомпилятор джава? Хороший, имею ввиду добротный, который верой и правдой мог бы действительно в исходники декомпилировать джава код, чтобы потом его перекомпилировать?! |
| Автор: MaxPayneC 9.2.2010, 21:13 | ||
Что-то похожее на то, что вы описали, можно сделать с помощью maven - указать зависимости, без которой вы хотите компилировать проект, scope-ы:
|
| Автор: jk1 9.2.2010, 21:22 | ||
http://www.java-decompiler.com/ Сам я предпочитаю http://members.fortunecity.com/neshkov/dj.html |
| Автор: Viroman 9.2.2010, 22:46 |
| DJ я уже пробовал, безрезультатно, там количество ошибок зашкалило за сотню и дальше уже не считалось.. А вот например JD GUI сумел взобраться на другой уровень, 6 ошибок и 20 предупреждений, посмотрим, на что руки годятся |
| Автор: Viroman 9.2.2010, 23:58 |
| Неа, ничего не помогает, а всего лишь нужно один файлик подправить :( неужели в таких ситуациях ничего с джавой поделать нельзя? Эксперты, кто что знает, реально помощь нужна, помогите. Может напрямую джава код переделывать... |
| Автор: dobrolub 10.2.2010, 01:19 |
| ломаешь что-то? ну прикрепи хоть файл |
| Автор: ivanovpv 10.2.2010, 20:41 | ||
Ну дык все просто: берем объектники которые надо разобрать, засовываем все хозяйство в идешник, приплюсовываем к нему какую-нить голову, чтобы нормально собиралось. Далее через идешник начинаем трассировку исполнения - стартуем с головы. Доходим до вызова метода в объектнике. Хороший идешник нормально декомпильнет ее и вы увидите в дебаггере исходник класса. Исходник копируем в отдельный файл, который правим как надо, потом удаляем объектник декомпиленного класса, вместо нее подсовываем исходник - опять же собираем и все. Главное, чтобы объектник был не под обфускатором (хотя даже исходник под обфускатором можно понять). |
| Автор: batigoal 12.2.2010, 10:56 | ||
Какой, например? IDE обычно не идут дальше отображения сигнатур публичных свойств, никаких кишок они не покажут. |
| Автор: Viroman 12.2.2010, 20:30 |
| Всем человеческое спасибо, взломом это не является, а наоборот исправление ошибок, программа и так фришная, но она имелала кое исправления другими людьми, которые надо было в другую версию перенять, естественно это всё дело было неизвестно, декомпиляции толково не поддавалось, а руками править нет ни нормального опыта, ни недобросовестного ума. В общем нашёл исходники, подсмотрел и исправил! |