Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Принудительная компиляция в Java 
:(
    Опции темы
Viroman
Дата 9.2.2010, 19:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 28.7.2008

Репутация: нет
Всего: нет



Добрый день форумчане, возник очень трепещущий вопрос, как скомпилировать исходник принудительно не имея всех запрашиваемых библиотек. Просто чтобы компилятор скомпилил исходник и не трепыхал мозги, что типа та и та библиотека отсутствуют во время компиляции. Именно такой подход мне очень нужен, буду вам весьма признателен! 
PM MAIL   Вверх
ivanovpv
Дата 9.2.2010, 19:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Варвар
**


Профиль
Группа: Участник
Сообщений: 639
Регистрация: 26.1.2005
Где: Москва

Репутация: 4
Всего: 28



В лобовую это невозможно ибо компилятор должен знать структуру класса который лежит в либе. Скажем вы пишете что будете вызывать метод foo() класса MyFoo - а библиотеки нет. Каким образом компилятор догадается, что метод foo() есть или если и есть то у него именно такая сигнатура? Так что без библиотеки .class файла вы не получите.

С другой стороны вы видимо просто хотите понимать синтаксически правильно написан код или нет? Если так то самый простой способ загрузить текст файла в какой-нить IDE (например NetBeans или Eclipse или Idea) и он вам сразу же покажет где у вас синтаксические косяки. 



--------------------
Aut viam inveniam aut faciam
PM MAIL Skype   Вверх
Viroman
Дата 9.2.2010, 20:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 28.7.2008

Репутация: нет
Всего: нет



Переформирую вопрос, знаком ли вам хороший декомпилятор джава? Хороший, имею ввиду добротный, который верой и правдой мог бы действительно в исходники декомпилировать джава код, чтобы потом его перекомпилировать?!
PM MAIL   Вверх
MaxPayneC
Дата 9.2.2010, 21:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 324
Регистрация: 18.2.2006

Репутация: 5
Всего: 9



Что-то похожее на то, что вы описали, можно сделать с помощью maven - указать зависимости, без которой вы хотите компилировать проект, scope-ы:

Цитата
# provided
This is much like compile, but indicates you expect the JDK or a container to provide the dependency at runtime. For example, when building a web application for the Java Enterprise Edition, you would set the dependency on the Servlet API and related Java EE APIs to scope provided because the web container provides those classes. This scope is only available on the compilation and test classpath, and is not transitive.
# runtime
This scope indicates that the dependency is not required for compilation, but is for execution. It is in the runtime and test classpaths, but not the compile classpath.

PM   Вверх
jk1
Дата 9.2.2010, 21:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1168
Регистрация: 17.10.2008
Где: Санкт-Петербург

Репутация: 40
Всего: 75



Цитата

знаком ли вам хороший декомпилятор джава?

Ищите тут
Сам я предпочитаю DJ Java Decompiler


--------------------
Opinions are like assholes — everybody has one
PM MAIL   Вверх
Viroman
Дата 9.2.2010, 22:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 28.7.2008

Репутация: нет
Всего: нет



DJ я уже пробовал, безрезультатно, там количество ошибок зашкалило за сотню и дальше уже не считалось.. А вот например JD GUI сумел взобраться на другой уровень, 6 ошибок и 20 предупреждений, посмотрим, на  что руки годятся
PM MAIL   Вверх
Viroman
Дата 9.2.2010, 23:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 28.7.2008

Репутация: нет
Всего: нет



Неа, ничего не помогает, а всего лишь нужно один файлик подправить :( неужели в таких ситуациях ничего с джавой поделать нельзя? Эксперты, кто что знает, реально помощь нужна, помогите. Может напрямую джава код переделывать...
PM MAIL   Вверх
dobrolub
Дата 10.2.2010, 01:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 385
Регистрация: 18.12.2009
Где: Vancouver, Canada

Репутация: 11
Всего: 16



ломаешь что-то? ну прикрепи хоть файл smile да расскажи что надо подправить.

PM   Вверх
serger
Дата 10.2.2010, 08:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 518
Регистрация: 19.6.2007
Где: Ижевск

Репутация: 1
Всего: 5



Цитата(dobrolub @  10.2.2010,  03:19 Найти цитируемый пост)
ломаешь что-то? ну прикрепи хоть файл smile да расскажи что надо подправить.

ломки обсуждаются не на этом форуме
Viroman, поподробнее распишите проблему, а то , действительно, какие нить органы заинтересуются вашей деятельностью.. телепаты, как всегда, в отпуске.. smile 


--------------------
упс!
PM MAIL WWW Skype GTalk Jabber   Вверх
ivanovpv
Дата 10.2.2010, 20:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Варвар
**


Профиль
Группа: Участник
Сообщений: 639
Регистрация: 26.1.2005
Где: Москва

Репутация: 4
Всего: 28



Цитата(Viroman @  9.2.2010,  20:07 Найти цитируемый пост)
Переформирую вопрос, знаком ли вам хороший декомпилятор джава? Хороший, имею ввиду добротный, который верой и правдой мог бы действительно в исходники декомпилировать джава код, чтобы потом его перекомпилировать?! 


Ну дык все просто: берем объектники которые надо разобрать, засовываем все хозяйство в идешник, приплюсовываем к нему какую-нить голову, чтобы нормально собиралось. Далее через идешник начинаем трассировку исполнения - стартуем с головы. Доходим до вызова метода в объектнике. Хороший идешник нормально декомпильнет ее и вы увидите в дебаггере исходник класса. Исходник копируем в отдельный файл, который правим как надо, потом  удаляем объектник декомпиленного класса, вместо нее подсовываем исходник - опять же собираем и все. Главное, чтобы объектник был не под обфускатором (хотя даже исходник под обфускатором можно понять).


--------------------
Aut viam inveniam aut faciam
PM MAIL Skype   Вверх
batigoal
Дата 12.2.2010, 10:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 24
Всего: 151



Цитата(ivanovpv @  10.2.2010,  21:41 Найти цитируемый пост)
Хороший идешник нормально декомпильнет ее и вы увидите в дебаггере исходник класса.

Какой, например? IDE обычно не идут дальше отображения сигнатур публичных свойств, никаких кишок они не покажут.


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
Viroman
Дата 12.2.2010, 20:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 140
Регистрация: 28.7.2008

Репутация: нет
Всего: нет



Всем человеческое спасибо, взломом это не является, а наоборот исправление ошибок, программа и так фришная, но она имелала кое исправления другими людьми, которые надо было в другую версию перенять, естественно это всё дело было неизвестно, декомпиляции толково не поддавалось, а руками править нет ни нормального опыта, ни недобросовестного ума. В общем нашёл исходники, подсмотрел и исправил!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0519 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.