Jetty — это веб-сервер и контейнер сервлетов (программных компонентов, расширяющих функциональность веб-сервера). Его можно использовать в качестве простого локального HTTP-сервера, который способен выполнять приложения на Java. Часто Jetty применяют в связке с веб-серверами Apache HTTP-сервером или Nginx, которые по умолчанию не могут запускать Java-приложения. Кроме того, Jetty встраивают в Java-приложения, если им нужна серверная функциональность.
Где и почему используется Jetty
Jetty используется как на стадии разработки, так и в продакшене (готовых, работающих приложениях). Он работает на мобильных платформах, легко встраивается в облачные сервисы, фреймворки, серверы приложений и среды разработки. Например, Jetty используется в следующих решениях:
- распределенных SQL-обработчиках запросов для больших данных, таких как Facebook Presto*;
- облачных вычислениях Google AppEngine;
- сервисе для совместной работы Zimbra;
- фреймворке Google Web Toolkit;
- масштабном портале Yahoo!;
- операционной системе для мобильных устройств Android;
- интегрированных средах разработки программного обеспечения Eclipse IDE, IntelliJ IDEA;
- серверах приложений — например, Apache Geronimo.
Jetty популярен из-за широкой функциональности. Также его отличают:
- гибкость и компактность;
- легкое масштабирование;
- встраивание в любые приложения;
- поддержка асинхронной обработки данных.
Кроме того, Jetty бесплатен для коммерческого использования и имеет открытый исходный код.
Выбор версии и запуск Jetty
Для запуска Jetty независимо от среды разработки или системы сборки требуется скачать архив с нужной версией программы. Установочные файлы доступны на официальном сайте и в репозитории Maven Central. Самая свежая версия Jetty на сегодняшний день — 11. Кроме последних версий протоколов HTTP/1.1, HTTP/2, WebSocket и FastCGI в релизе добавлена поддержка JakartaEE Namespace. Эта технология позволяет приложениям «общаться» с платформой.
После скачивания необходимо распаковать архив и запустить файл .jar с помощью команды:
java -jar start.jar
После этого сервер Jetty будет доступен по адресу http://localhost:8080/. Для его остановки нужно нажать комбинацию Ctrl+C.
Подключение плагина Jetty в Maven
Плагин Jetty используют в Maven для быстрой разработки и тестирования. По желанию он может периодически сканировать проект на предмет изменений и автоматически развертывать веб-контейнеры, если они обнаружены. Это делает цикл разработки более продуктивным, устраняя этапы сборки и развертывания: программист использует IDE для внесения изменений в проект, а запущенный веб-контейнер автоматически подхватывает их, позволяя разработчику сразу же их протестировать.
С 10-й версии режимы развертывания применяются одинаково для всех команд, а параметры конфигурации упрощены. Теперь у плагина стало только 4 команды запуска:
jetty:run
jetty:run-war
jetty:start
jetty:start-war
Для подключения плагина Jetty к системе Maven необходимо добавить описание jetty-maven-plugin в файл pom.xml:<plugin> <groupId>org.eclipse.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <version>{VERSION}</version> </plugin>
Находясь в той же директории, где располагается файл pom.xml, выполнить команду:
mvn jetty:run
Сервер будет доступен по адресу http://localhost:8080/. По умолчанию Jetty не сканирует веб-приложение на предмет изменений. Чтобы начать автоматическое сканирование, нужно установить ненулевое значение параметра <scan>.
Jetty — гибкий и многофункциональный сервер, который можно использовать на всех этапах жизненного цикла приложения — от разработки и тестирования до развертывания и работы в продакшн-режиме.
* Принадлежит компании Meta, деятельность которой признана экстремистской в России.
0 комментариев