Я использую 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?
С уважением
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 может быть пустой тратой времени).