знаток + затмевает + сервлет-api.jar

Я использую Eclipse наряду с плагином m2eclipse, чтобы создать и управлять моим проектом. В АНГЛИЧАНИНЕ я включал запись для API сервлета:

  <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>servlet-api</artifactId>
    <version>2.5</version>
    <scope>provided</scope>
  </dependency>

Объем обеспечивается, для не включения .jar файла в .war пакет, (он уже обеспечивается контейнером сервлета кота). Компиляция установкой mvn корректна, файл не включен в СЕТЬ-INF\lib, развертывание на коте работает, программа работает, это в порядке.

Но, случай запускается в Eclipse. После запуска моего веб-приложения от затмения я получаю ошибку:

\WEB-INF\lib\servlet-api-2.5.jar) - банка, не загруженная. Посмотрите Спецификацию 2.3 Сервлета, разделите 9.7.2. Оскорбление класса: javax/servlet/Servlet.class

Я не знаю, почему, потому что, Зависимости Знатока (включая javac-servlet-2.5.jar) включены как Java Зависимости от Модуля EE, и должен быть загнан в папке WEB-INF\lib, при запуске с затмения. С другой стороны, в затмении я обеспечил путь к своему апачскому каталогу кота, и в проекте, существуют автоматические ссылки на библиотеки от Apache Tomcat v6.0 включая сервлет-api.jar.

Так в основном, после removeing ссылка от АНГЛИЧАНИНА к servlet-api-2.5.jar, та библиотека dissapears от Зависимостей Знатока, и я не получаю исключения при запуске моего веб-приложения с затмения. Все прекрасно... в затмении.

Конечно, без записи внутренний АНГЛИЧАНИН, на этот раз mvn устанавливают сбои за тем же исключением, я обеспечил ранее.

Есть ли любой способ сделать его работающий, не удаляя и, чем вставка ссылки, в зависимости от того, что я хочу сделать: скомпилировать со знатоком или выполнением с Eclipse?

С уважением

10
задан Pascal Thivent 11 July 2010 в 18:06
поделиться

1 ответ

This

\WEB-INF\lib\servlet-api-2.5.jar) - jar не загружен. Смотрите Servlet Spec 2.3, раздел 9.7.2. Нарушающий класс: javax/servlet/Servlet.class

- это просто предупреждение сервера приложений о том, что он игнорирует один из ваших включенных JAR и не будет его загружать. Его можно смело игнорировать.

Похоже, что проблема в части/плагине для Eclipse, которая загружает ваш проект во встроенный сервер приложений - похоже, что он просто использует список зависимостей в качестве пути к библиотекам и не имеет понятия о диапазонах Maven.

Лично я бы проигнорировал подобное - ваша сборка Maven работает нормально, запуск приложения в Eclipse должен работать нормально, кроме этого игнорируемого предупреждения - иначе вам придется идти по пути настройки вашего проекта для того, что ожидает один инструмент (плагин веб-приложения для Eclipse) от другого (Maven).

(Также я всегда находил, что запуск веб-приложений как "веб-проектов" в Eclipse - это боль в заднице, и приводит к разного рода странностям - не стоит таких хлопот - если вы хотите быстро загрузить ваш Maven веб-проект в контейнер сервлетов, просто используйте mvn jetty:run или mvn tomcat:run. Борьба с IDE может быть пустой тратой времени).

5
ответ дан 4 December 2019 в 03:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: