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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Создание библиотек в NetBeans 
:(
    Опции темы
COVD
Дата 22.2.2007, 22:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

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



Решил оформить несколько классов проекта в виде библиотеки. Создал новый проект, переместил нужные классы туда и откомпилировал. Там создался jar . В основном проекте в разделе Libriaries добавил ссылку на этот jar. Откомпилировал основной проект - все замечательно.

Проблема возникает, когда приходится редактировать библиотеку. Вношу изменения в библиотечные классы и компилирую. Библиотечный jar генерится заново и содержит все изменения. Открываю основной проект и вношу соответствующие изменения там. Компилирую - ошибка! Компилятор непонятно откуда извлекает старую версию библиотеки и  сообщает о несоответствии. IDE видит новую версию библиотеки, а компилятор - старую. Рестарт IDE и компьютера не помогают.
PM MAIL   Вверх
powerOn
Дата 22.2.2007, 22:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

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



1) Попробуй сделать Clean and Build проектов.
2) Попробуй переподключить библиотеку к проекту.


--------------------
user posted image нет времени думать - нужно писать КОД!

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


Опытный
**


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

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



ИДЕ делает копию джарника в папку lib то есть ты изменяешь библиотеку а в либе у тебя лежит старая, клин анд билд, должен помочь, хотя как то не обращал внимание как он ведет себя с либами при этом...
положи новую либу в папку lib


--------------------
user posted image
PM WWW ICQ   Вверх
COVD
Дата 22.2.2007, 23:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

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



Цитата

1) Попробуй сделать Clean and Build проектов.
2) Попробуй переподключить библиотеку к проекту.


Уже пробовал, не помогло.

Цитата

ИДЕ делает копию джарника в папку lib 


В проектах нет папки lib. Есть dist. И основной проект имеет ссылку на jar, лежащий в dist библиотечного проекта. Мне кажется, так и должно быть, чтобы не копировать jar вручную при модификации библиотеки. 



Это сообщение отредактировал(а) COVD - 23.2.2007, 00:27
PM MAIL   Вверх
powerOn
Дата 23.2.2007, 01:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

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



Цитата(COVD @  22.2.2007,  23:21 Найти цитируемый пост)
Уже пробовал, не помогло.

Значит ты что-то делаешь не так. У меня все работает. Я специально проверил.

1) Создаем 2 проекта: Java Application и Java Class Library.
2) В проекте библиотеки создаем класс test.TestClass с одним методом (любым). Делаем его Build. В итоге получаем Jar библиотеки.
3) В менеджере библиотек создаем новую библиотеку используя получившийся на предыдущем этапе jar.
4) Подключаем новую библиотеку к Java Application. Используем этот класс в нем.

Если поменять что-либо в test.TestClass и сделать build для его проекта, то эти изменения немедленно видны при работе в другом проекте. 

Еще можно подключать не библиотеку к проекту, а целый проект. Тогда даже одного build для главного проекта достаточно, что бы все изменения были учтены.



--------------------
user posted image нет времени думать - нужно писать КОД!

PM MAIL   Вверх
COVD
Дата 23.2.2007, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

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



Цитата

Если поменять что-либо в test.TestClass и сделать build для его проекта, то эти изменения немедленно видны при работе в другом проекте. 


Изменения действительно видны, но компиляция основного проекта не всегда проходит. IDE и компилилятор иногда видят разные версии. Это случается когда рефакторингом меняешь, например, имя функции в библиотеке. Рефакторинг старается внести исправления и в связанных проектах, если они тоже открыты. И вот эта "услуга" и приводит к ситуации. Причем классы разных проектов aaa.AClass и bbb.AClass каким-то образом рассматриваются взаимосвязанно. 




Это сообщение отредактировал(а) COVD - 23.2.2007, 18:56
PM MAIL   Вверх
powerOn
Дата 24.2.2007, 00:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


software saboteur
****


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

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



Цитата(COVD @  23.2.2007,  18:44 Найти цитируемый пост)
Это случается когда рефакторингом меняешь, например, имя функции в библиотеке. Рефакторинг старается внести исправления и в связанных проектах, если они тоже открыты. И вот эта "услуга" и приводит к ситуации.

Не получилось воспроизвести ошибку. Честно. Все работает как надо.  smile 
Напишите последовательность действий которая приводит к такой ситуации. 

Цитата(COVD @  23.2.2007,  18:44 Найти цитируемый пост)
Причем классы разных проектов aaa.AClass и bbb.AClass каким-то образом рассматриваются взаимосвязанно. 

Всмысле? Возможно у вас в коде ошибка и просто идет создание объекта совсем не того класса? Если имена классов одинаковые и самому не трудно ошибиться - используйте полные имена классов при создании экземпляров и не используйте одинаковые имена в связанных проектах.


--------------------
user posted image нет времени думать - нужно писать КОД!

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


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1655
Регистрация: 26.7.2005

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



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

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

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


 




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


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

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