eclipse helios: проект tomcat - jar не будет экспортирован или опубликован. Исключения ClassNotFoundException во время выполнения могут привести к

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

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

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

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

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

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


person ufk    schedule 23.11.2010    source источник


Ответы (3)


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

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

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

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

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

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

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

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

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

  • добавление библиотеки "Библиотеки веб-приложений" в "путь сборки Java" и
  • добавление всех соответствующих банок в WebContent/WEB-INF/lib
person VonC    schedule 23.11.2010
comment
Если ufk скопировал банки через проводник (nautilus, проводник Windows), то проблема с обновлением файла является правильной. Выберите проект в Eclipse и нажмите F5. - person Alfabravo; 23.11.2010
comment
большое спасибо. я решил проблему, добавив библиотеку библиотек веб-приложений в путь сборки java и добавив все соответствующие файлы в WebContent/WEB-INF/lib - person ufk; 23.11.2010
comment
@ufk: спасибо за ваш отзыв. Я включил это в свой ответ. - person VonC; 23.11.2010

В затмении Джуну:

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

Deployment Assembly

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

при добавлении этой банки в «Сборку развертывания» нажмите кнопку добавления и выберите

Java Build Path Entry

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

person ozma    schedule 22.10.2013
comment
это также работает для eclipse 2018 с проектами maven archtype по умолчанию, спасибо - person yolob 21; 09.05.2019

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

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

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

person REDA    schedule 12.01.2014