| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java tools & IDE's > Как подключать Spring в NetBeans?! |
| Автор: isabsent 28.8.2010, 19:59 | ||
Поставил NetBeans 6.8 (Java EE). Не понимает - ругается на
не смотря на то что библиотека в Tools->Libraries->Spring Framework 2.5 присутствует по умолчанию... Скачал библиотеку Spring framework 2.5.6 со springsource.org, разархивировал и попробовал подключить её в Tools->Libraries - никакого эффекта. Где я ошибаюсь? NetBeans почему-то начинает видеть подключенные библиотеки только если их подключать к каждому конкретному проекту в "Имя Проекта"->Propertis->Libraries или руками добавлять в jdk-.../jre/ext/ но это не кошерный способ насколько я понимаю - с зависимостями начинаются проблемы... |
| Автор: powerOn 28.8.2010, 23:34 |
| Да, нужно подключать библиотеки к каждому проекту. Почему на ваш взгляд должно быть иначе? Какие проблемы с зависимостями от этого будут? |
| Автор: isabsent 29.8.2010, 07:43 |
| Например если мне в одном проекте нужны библиотеки Spring, то я должен именно к этому проекту добавить ВСЕ библиотеки, которые есть в дистрибутиве Spring? Мне почему-то кажется логичным подключить библиотеку ко всему NetBeans, чтобы когда я буду делать новый проект Spring уже не нужно было подключать снова к этому конкретному проекту библиотеки Spring. IDE уже будет знать о подключенных библиотеках и сама выбрать необходимые. Поясните плз правильный способ подключения библиотек или дайте ссылку на первоисточник - не могу найти... |
| Автор: powerOn 29.8.2010, 10:53 |
| У вас есть набор jar файлов, необходимых для работы spring. В NetBeans вы создаете библиотеку (меню tools -> libraries), потом полученную библиотеку подключаете к проектам (в свойствах проекта libraries -> add library). Библиотека создается один раз и может быть потом подключена к любому количеству проектов. |
| Автор: isabsent 29.8.2010, 12:50 |
| Понял, спасибо. Если мне нужно включить библиотеку в дистрибутив, то как я должен поступить чтобы не включать лишнего? Я же не знаю зависимостей между файлами в чужой библиотеке. Может мне не нужны все библиотеки Spring, а они все включаются NetBeans'ом после Build в дистрибутив. Самому выяснять что можно выкинуть чтобы кменьшить вес дистрибутива - это как-то странно. Компилятор это знает сам и гораздо лучше меня. Библиотеки, добавленные через "Имя Проекта"->Propertis->Libraries вроде бы в полном составе включаются в дистр - на сколько я понял, хотя может быть нужна всего одна-две. Какой в этом смысл? Логичнее было бы выбрать только те, которые присутствуют у меня в исходниках - которые import - и только их и включить. |
| Автор: kosmonaFFFt 29.8.2010, 15:50 |
| Насколько я знаю, нетбинс сам подтянет зависимости... Т. е. добавляй только те либы, которые нужны, а остальные подтянутся... А еще лучще делай проекты на maven, он точно все зависимости сам разрулит, и недостающие библиотеки скачает... |
| Автор: isabsent 29.8.2010, 15:55 |
| Да вот я и не понимаю - зачем добавлять в конкретный проект либы? Я же указал необходимые либы для конкретного проекта словом import в исходниках. Что мешает НетБинсу пошарить в подключенных к нему (а не к конкретному проекту) либах и САМОМУ включить все что нужно в билд конкретного проекта? Какой смысл заставлять пользователя делать это руками, если эта процедура хорошо определена и легко выполнима самим НетБинсом? Пытаюсь просто понять логику всей этой процедуры... |
| Автор: isabsent 29.8.2010, 16:49 | ||||
Ну да - мне кажется что это было бы логично так реализовать. Странно что этого не сделано. Мне кажется что НетБинс умеет гораздо более сложные вещи делать по сравнению с этой процедурой.... Добавлено через 2 минуты и 47 секунд
Под Линуксом всякие пакет-менеджеры этим и занимаются. Довольно успешно кстати и почти незаметно. Так что просто можно взять оттуда - всё уже написано |
| Автор: Temdegon 30.8.2010, 04:36 | ||
А как по вашему нетбинс должен разрулить такую ситуацию: есть класс A в a.jar, есть класс B в b.jar. Класс A юзает класс B. вы делаете import a. Предположим, нетбинс просекает это, и кладет вам с dit\lib a.jar. Но он же не знает, что классу a требуется класс b, и соответсвенно b.jar туда не положит, а вы при запуске получите classNotFoundException. Кроме того, если нет директивы import, это еще не значит, что какой-то класс не нужен проекту. Вы же можете сделать Class.forName("com.xxx.utils.myClass"), и в этом слуаче jar с этим классом долежн лежать в дистрибутиве. Ну и вообще, всякие бывают ситуации. Бывает, что у либы есть десяток зависимостей, но они опциональные. И тут уж только вы, путем чтения документации, определите, какие из них реально вам нужны в проекте, а какие можно выбросить. |
| Автор: COVD 30.8.2010, 16:24 | ||
Правильный способ - использовать шаблоны проектов - project templates. Когда создаете новый проект, кликаете New Project. Netbeans в ответ предлагает выбрать тип проекта из зарегистрированных (предустановленных) шаблонов. Если там нет нужного (со Spring), то можно создать свой шаблон. Любой проект можно включить в Netbeans в виде шаблона. http://blogs.sun.com/seapegasus/entry/tip_create_your_own_project |