Spring trainee
Какие scope у зависимостей в Maven?
Ответ
compile (default) — доступно везде, идёт в финальный jar. test — только для тестов. provided — для компиляции, но не в финальный jar (например, servlet-api — его даёт Tomcat в рантайме). runtime — нужно в рантайме, но не при компиляции.
Разбор: compile — везде и в финальном jar; test — только при компиляции/запуске тестов; provided — для компиляции, но контейнер предоставляет его в рантайме (поэтому НЕ упаковывается в jar); runtime — нужно в рантайме, но не при компиляции. Дистракторы инвертируют именно эти признаки: provided ошибочно «попадает в jar», runtime подаётся как «только для компиляции», compile — как «не в рантайме».
Хочешь так же по своей компании — с вопросами по грейдам и задачами? Закажи гайд или забери свежее в Telegram.