Настройка Maven для Servlet 3.0 API: зависимости и репозитории

Пройдите тест, узнайте какой профессии подходите и получите бесплатную карьерную консультацию
В конце подарим скидку до 55% на обучение
Я предпочитаю
0%
Работать самостоятельно и не зависеть от других
Работать в команде и рассчитывать на помощь коллег
Организовывать и контролировать процесс работы

Быстрый ответ

Для подключения Servlet API 3.0 к вашему проекту Maven, требуется добавить в файл pom.xml следующую зависимость:

xml
Скопировать код
<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.0.1</version>
    <scope>provided</scope>
</dependency>

Использование <scope> с параметром provided обеспечит доступ к API на этапе компиляции, при этом в итоговом WAR-файле данная зависимость отсутствует — её предоставит сервер приложений.

Пройдите тест и узнайте подходит ли вам сфера IT
Пройти тест

Поясняем суть 'provided'

В контексте Maven provided подразумевает:

  • Зависимость необходима на этапе компиляции.
  • Она должна быть доступна в время выполнения.
  • В собранном WAR-файле её не должно быть.

Как выбрать версию API, подходящую для вашего окружения

Версия javax.servlet-api:3.0.1 прекрасно подойдёт для работы с Servlet 3.0. Однако версию следует выбирать, исходя из используемого сервера и версии Java:

  • Для Tomcat 7 оптимальной окажется версия javax.servlet-api:3.0.1.
  • Если вы работаете с Tomcat 8, рекомендуется использовать javax.servlet-api:3.1.0 для доступа к дополнительным функциям.
  • В случае если ваш выбор — JBoss, подойдёт зависимость jboss-servlet-api_3.0_spec.

Избегайте распространённых ошибок

Корректное управление зависимостями — залог успеха:

  • Не включайте полный API Java EE 6, если вам необходим только Servlet API.
  • Не добавляйте JSTL, если эту библиотеку предоставляет сервер приложений, например, Tomcat.
  • Следите за актуальными обновлениями и изменениями версий в Maven-репозитории.

Визуализация

Процесс поиска зависимости Maven для Servlet API 3.0 можно представить как выбор нужного издания книги в библиотеке:

Вы ищете: **"Руководство по Servlet API 3.0"**

Разделы библиотеки:
- Оцифровка древних рукописей (Servlet 2.5 и ниже) 📜
- Золотая классика (Servlet 3.0) 📘
- Убежающий от нас будущий мир (Servlet 3.1 и выше) 📙

Выберите классику 📘, чтобы ваш проект оставался актуален!

Найдя зависимость Maven для Servlet 3.0, вы можете считать себя хранителем некоторого раритета:

xml
Скопировать код
<dependency>
    <groupId>**javax.servlet**</groupId>
    <artifactId>**javax.servlet-api**</artifactId>
    <version>**3.0.1**</version>
    <scope>**provided**</scope>
</dependency>

Этот код — ваш билет в мир классической разработки!

Знайте свои инструменты: разные альтернативы и библиотеки

В Java EE 6 много интересного

Java.net репозиторий — это источник дополнительных API, таких как JSF 2.0, которые дополнят Servlet API.

Альтернативы сервера Glassfish

Если вы предпочитаете сервер Glassfish, используйте org.glassfish:javax.servlet. Не забывайте отслеживать обновления Java EE API для корректного выбора версии Glassfish.

Профили Java EE 6 и Javadocs

Для оптимизации зависимостей обратите внимание на Javadocs и обновления Профилей Java EE 6, доступные по адресу https://repository.jboss.org/nexus/content/groups/public/.

Полезные материалы

  1. javax.servlet (Java™ EE 8 Specification APIs) — официальный Javadoc для Servlet 3.0 API.
  2. Документация Maven — главный источник информации о Maven.
  3. Документация по API Servlet 3.0 – Apache Tomcat 7.0.109 — представление Apache Tomcat о Servlet API 3.0.
  4. Технология Java Servlet – Учебник по Java EE 6 — детальный учебник по Servlet от Oracle.
  5. Поиск в Maven Central Repository — поиск версий артефактов javax.servlet в Maven Central Repository.