Настройка Maven для Servlet 3.0 API: зависимости и репозитории
Быстрый ответ
Для подключения Servlet API 3.0 к вашему проекту Maven, требуется добавить в файл pom.xml
следующую зависимость:
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.0.1</version>
<scope>provided</scope>
</dependency>
Использование <scope>
с параметром provided
обеспечит доступ к API на этапе компиляции, при этом в итоговом WAR-файле данная зависимость отсутствует — её предоставит сервер приложений.
Поясняем суть '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, вы можете считать себя хранителем некоторого раритета:
<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/
.
Полезные материалы
- javax.servlet (Java™ EE 8 Specification APIs) — официальный Javadoc для Servlet 3.0 API.
- Документация Maven — главный источник информации о Maven.
- Документация по API Servlet 3.0 – Apache Tomcat 7.0.109 — представление Apache Tomcat о Servlet API 3.0.
- Технология Java Servlet – Учебник по Java EE 6 — детальный учебник по Servlet от Oracle.
- Поиск в Maven Central Repository — поиск версий артефактов
javax.servlet
в Maven Central Repository.