Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java tools & IDE's > Eclipse - WTP - Tomcat - Dynamic Web Project


Автор: SmaLL 7.2.2007, 11:10
Итак поэма! smile

Имеется
eclipse-SDK-3.2.1
wtp-sdk-R-1.5.2-200610261841
Tomcat (4.1, 5.5)

создаю:
- Dynamic Web Project
- Рантаймы для Томкэта
- Проект - Сервер со ссылкой на рантаймы Томкэта.

Создаю в Eclipse библиотеку "User Libraries" для использования, например log4j.
Указываю jar, исходники, javadoc

Подключаю созданную библиотеку в проект в разделе "Java Build Path"
Создаю свой класс (сервлет) с использованием классов из созданной библиотеки.
ВсЁ прекрасно видится и компилится.

Запускаю проект на выполнение и получаю от Томкэта ошибку, что класс из библиотеки не найден. Вполне резонно, т.к. при деплойе надо будет log4j.jar выложить в каталог WEB-INF\lib, тогда будет всЁ нормально.
Для того, чтобы Eclipse автоматом выкладвала все библиотеки в WEB-INF\lib надо в свойствах проекта, в разделе "J2EE Module Dependencies" указать нужные jar-файлы, которые появляются в "Java Build Path" в виде "Web App Libraries". Когда я добавил здесь log4j.jar, то при запуске Томкэт прекрасно увидел все классы и мой проект нормально стал работать.

В итоге получилось, что мне пришлось указать для проекта 2 раза log4j.jar
После этого я не смог посмотреть исходник класса из log4j.jar, т.к. Eclipse мне предлагала выбрать один из этих log4j.jar, и какой бы я не выбирал, исходник Eclipse найти не мог, хотя в том, что в "User Libraries" путь к исходникам был прописан. В итоге я указал в "Web App Libraries" для моего jar'a путь к исходнику и тогда, я смог посмотреть исходник класса из log4j.jar.
Получилось, что и исходник мне пришлось указать 2й раз.
Можно конечно не использовать в проекте "User Libraries", но если у меня несколько проектов, не хотелось бы для каждого постоянно прописывать все нужные jar'ы, исходники к ним и javadoc.

В связи в выше сказанным, хочу поинтересоваться, может я что-нибудь неправильно делаю? Неужели нельзя настроить на использование "User Libraries" в "Web App Libraries"?

Спасибо.

Автор: AntonSaburov 8.2.2007, 19:49
Когда смотрел вопросы по сертификации там было предложение сделать следующим образом - создать standalone проект, в который класть все библиотеки и делать из остальных на него ссылку.

Хотя может это и не совсем то, что надо.

Автор: SmaLL 9.2.2007, 13:09
Интересное предложение.
В пределах одного workspace это будет прекрасный выход.
Спасибо на инфу, Антон.

Жаль только при переходе в другой workspace придЁтся копировать этот проект.

Интересно, а в следующих версиях Эклипсы и ВТП изменений никаких не наблюдается?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)