Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Оглавление

Режим разработки и Dev UI

Режим разработки (dev mode) — это способ запуска приложения, при котором Quarkus следит за файлами проекта. Вы меняете код, сохраняете файл, обновляете страницу — и видите результат. Перезапускать сервер вручную не нужно. Это главный рабочий режим во время написания кода.

Запуск

В папке проекта выполните:

./mvnw quarkus:dev

В Windows команда выглядит как mvnw quarkus:dev. Первый запуск скачивает зависимости, поэтому занимает минуту-две. Затем в терминале появляется логотип и строки (вывод сокращён):

INFO  [io.quarkus] blog 1.0.0-SNAPSHOT on JVM (powered by Quarkus 3.40.1) started in 3.592s. Listening on: http://localhost:8080
INFO  [io.quarkus] Profile dev activated. Live Coding activated.
INFO  [io.quarkus] Installed features: [cdi, rest, rest-jackson, smallrye-context-propagation, vertx]

Приложение слушает порт 8080, активен профиль dev, в строке Installed features перечислены работающие расширения.

Проверка эндпоинта

Во втором терминале вызовите эндпоинт:

curl -i http://localhost:8080/hello
HTTP/1.1 200 OK
content-length: 23
Content-Type: text/plain;charset=UTF-8

Hello from Quarkus REST

Флаг -i показывает статус и заголовки ответа. Тот же адрес можно открыть в браузере.

Живая перезагрузка

Измените строку в GreetingResource.java:

// src/main/java/com/example/blog/GreetingResource.java
return "Hello, blog!";

Сохраните файл и снова вызовите curl http://localhost:8080/hello — ответ уже Hello, blog!. Quarkus проверяет изменения при следующем запросе, перекомпилирует класс и перезапускает приложение за доли секунды. В логе появляется:

INFO  [io.quarkus.deployment.dev.RuntimeUpdatesProcessor] Restarting quarkus due to changes in GreetingResource.class.
INFO  [io.quarkus.deployment.dev.RuntimeUpdatesProcessor] Live reload total time: 1.747s

Клавиши в терминале

Пока работает dev mode, терминал принимает команды-клавиши:

КлавишаДействие
wОткрыть приложение в браузере
dОткрыть Dev UI
rЗапустить тесты (непрерывное тестирование)
sПринудительно перезапустить приложение
hПоказать справку
qОстановить приложение

Dev UI

Dev UI — веб-панель разработчика, которая есть только в режиме разработки. Откройте http://localhost:8080/q/dev-ui. Слева меню: Extensions, Configuration, Endpoints, Continuous Testing, Dev Services и другие. В разделе Extensions у каждого расширения своя карточка: например, у REST — список эндпоинтов и обработчиков ошибок, у Hibernate ORM — сущности и консоль запросов. В разделе Configuration можно посмотреть и поменять любую настройку.

В обычном запуске (prod) Dev UI нет: адрес /q/dev-ui отвечает 404.

Частая ошибка

Если в коде синтаксическая ошибка, приложение не падает, а при запросе показывает страницу «Error restarting Quarkus», а в терминале — сообщение компилятора:

ERROR [io.quarkus.deployment.dev.JavaCompilationProvider] illegal start of expression, line 14 in ...GreetingResource.java
Compilation Failed:
...GreetingResource.java:14: error: illegal start of expression
        return "Hello, Quarkus blog!" + 1 +;
                                           ^

Исправьте строку, сохраните файл и обновите страницу — dev mode продолжит работу сам. Перезапускать quarkus:dev не нужно.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.