Режим разработки и 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/helloHTTP/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 не нужно.