![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 6 Всего: 43 |
Решил оформить несколько классов проекта в виде библиотеки. Создал новый проект, переместил нужные классы туда и откомпилировал. Там создался jar . В основном проекте в разделе Libriaries добавил ссылку на этот jar. Откомпилировал основной проект - все замечательно.
Проблема возникает, когда приходится редактировать библиотеку. Вношу изменения в библиотечные классы и компилирую. Библиотечный jar генерится заново и содержит все изменения. Открываю основной проект и вношу соответствующие изменения там. Компилирую - ошибка! Компилятор непонятно откуда извлекает старую версию библиотеки и сообщает о несоответствии. IDE видит новую версию библиотеки, а компилятор - старую. Рестарт IDE и компьютера не помогают. |
|||
|
||||
| powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 28 Всего: 159 |
1) Попробуй сделать Clean and Build проектов.
2) Попробуй переподключить библиотеку к проекту. |
|||
|
||||
| Hidrag |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 877 Регистрация: 9.4.2005 Где: JDK Репутация: 2 Всего: 25 |
ИДЕ делает копию джарника в папку lib то есть ты изменяешь библиотеку а в либе у тебя лежит старая, клин анд билд, должен помочь, хотя как то не обращал внимание как он ведет себя с либами при этом...
положи новую либу в папку lib -------------------- |
|||
|
||||
| COVD |
|
||||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 6 Всего: 43 |
Уже пробовал, не помогло.
В проектах нет папки lib. Есть dist. И основной проект имеет ссылку на jar, лежащий в dist библиотечного проекта. Мне кажется, так и должно быть, чтобы не копировать jar вручную при модификации библиотеки. Это сообщение отредактировал(а) COVD - 23.2.2007, 00:27 |
||||
|
|||||
| powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 28 Всего: 159 |
Значит ты что-то делаешь не так. У меня все работает. Я специально проверил. 1) Создаем 2 проекта: Java Application и Java Class Library. 2) В проекте библиотеки создаем класс test.TestClass с одним методом (любым). Делаем его Build. В итоге получаем Jar библиотеки. 3) В менеджере библиотек создаем новую библиотеку используя получившийся на предыдущем этапе jar. 4) Подключаем новую библиотеку к Java Application. Используем этот класс в нем. Если поменять что-либо в test.TestClass и сделать build для его проекта, то эти изменения немедленно видны при работе в другом проекте. Еще можно подключать не библиотеку к проекту, а целый проект. Тогда даже одного build для главного проекта достаточно, что бы все изменения были учтены. |
|||
|
||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 6 Всего: 43 |
Изменения действительно видны, но компиляция основного проекта не всегда проходит. IDE и компилилятор иногда видят разные версии. Это случается когда рефакторингом меняешь, например, имя функции в библиотеке. Рефакторинг старается внести исправления и в связанных проектах, если они тоже открыты. И вот эта "услуга" и приводит к ситуации. Причем классы разных проектов aaa.AClass и bbb.AClass каким-то образом рассматриваются взаимосвязанно. Это сообщение отредактировал(а) COVD - 23.2.2007, 18:56 |
|||
|
||||
| powerOn |
|
|||
![]() software saboteur ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 4367 Регистрация: 7.10.2005 Репутация: 28 Всего: 159 |
Не получилось воспроизвести ошибку. Честно. Все работает как надо. Напишите последовательность действий которая приводит к такой ситуации.
Всмысле? Возможно у вас в коде ошибка и просто идет создание объекта совсем не того класса? Если имена классов одинаковые и самому не трудно ошибиться - используйте полные имена классов при создании экземпляров и не используйте одинаковые имена в связанных проектах. |
|||
|
||||
| COVD |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 26.7.2005 Репутация: 6 Всего: 43 |
Спасибо за участие. У меня все как-то образовалось. И сам не пойму, где ошибался. Просто некоторые действия IDE для меня были неожиданностью. Теперь уже можно признать, что приятной.
|
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java tools & IDE's | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |