Затмение helios: проект tomcat - jar не будет экспортироваться или публиковаться. Время выполнения ClassNotFoundExceptions может привести

Я использую Eclipse Helios, и мне было интересно, как я могу добавить проект библиотеки в мою папку, которая будет скопирована в каталог сборки, где находится мой скомпилированный проект.

В настоящее время я сделал следующее:

  1. создал каталог lib в корне моего проекта
  2. скопировал соответствующие банки в этот каталог
  3. Мой Проект -> Свойства -> Путь сборки Java -> Добавить банки, и я добавил все банки из этого каталога.

После добавления всех банок я получил следующее предупреждение относительно каждого из файлов jar:

jar will not be exported or published. runtime ClassNotFoundExceptions may result

Прежде всего, как я могу добавить каталог банок вместо отдельных банок? и второй вопрос: как я могу сделать так, чтобы библиотеки были правильно развернуты при компиляции моего приложения?!

3 ответа

Решение

Это может быть о:

Можете ли вы переключиться в представление навигатора, щелкнуть правой кнопкой мыши обновить проект, убедитесь, что он не находится в LIB реж,
Затем попробуйте перетащить банку в lib DIR и посмотреть, если это появляется.

Когда вы полностью контролируете свой веб-контейнер / сервер приложений, развертывание файлов JAR так же просто, как удаление папки в общей папке lib.
Если вы не упаковываете свои веб-приложения как war файл, то это еще проще, потому что вам нужно всего лишь опустить банки в WEB-INF/lib папка вашего веб-приложения.
Но если у вас нет полного контроля над вашим веб-сервером или сервером приложений, ваш единственный выбор - упаковать файлы jar, которые вы использовали в вашем файле войны.

При разработке веб-проекта с использованием моей недавно разработанной утилиты (файл JAR) я столкнулся с NoClassDefFound ошибка. Конечно, совершенно очевидно, что файл jar, который я создал и использовал в своем веб-проекте, не был найден (не виден в CLASSPATH).
Добавление файла jar к пути сборки только устраняет проблему компиляции. Перетаскивание файла jar в папку lib моего рабочего пространства Eclipse - не очень хорошая идея.
Мне понадобилось несколько часов, прежде чем я нашел решение:

  1. Щелкните правой кнопкой мыши по вашему веб-проекту.
  2. Нажмите Свойства
  3. Выберите зависимости модуля J2EE
  4. Нажмите вкладку веб-библиотек
  5. Добавьте внешние баночки (если баночка находится за пределами вашего проекта). Запись будет добавлена ​​в Jar/Module Убедитесь, что вы нажимаете на флажок (проверено).

И все должно быть хорошо. Я попытался экспортировать в файл войны, а затем проверил содержимое, и мои файлы JAR действительно были развернуты вместе с войной.

  • проблема конфигурации проекта

ОП ufk упоминает в комментарии:

Я решил проблему:

  • добавление библиотеки "Библиотеки веб-приложений" в "путь сборки Java" и
  • добавив все соответствующие банки в WebContent/WEB-INF/lib

В затмении Юну:

в веб-проекте, после добавления jar для построения пути, нужно добавить его в

Deployment Assembly

(в свойствах проекта)

при добавлении этой банки в "Deployment Assembly" нажмите кнопку добавления и выберите

Java Build Path Entry

(а не другое рабочее пространство или опция файловой системы)

Я столкнулся с той же проблемой: когда я экспортирую свое веб-приложение в виде файла war, внешние добавленные файлы JAR не включаются в каталог app / lib, что вызывает исключения во время развертывания.

Вы должны переключить представление навигатора, щелкнуть правой кнопкой мыши обновить проект, убедитесь, что он не находится в каталоге LIB (но в папке проекта)

затем попробуйте перетащить JAR в каталог lib и посмотреть, появится ли он.

Другие вопросы по тегам