Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Java: maven, scope

Что такое scope зависимости в Maven?

Вопрос проверяет понимание того, как зависимости используются на разных этапах жизненного цикла Maven.

Короткий ответ

scope определяет, на каких этапах используется зависимость. Он влияет на компиляцию, тестирование и выполнение приложения. Самые распространённые scope — compile, test и provided. Правильный выбор scope уменьшает размер артефакта и снижает риски. Это важная часть конфигурации Maven.

Длинный ответ

В Maven зависимости могут быть нужны не всегда и не везде, поэтому у них есть область видимости.

Определение

Scope зависимости — это правило, определяющее, на каких этапах сборки и выполнения используется данная библиотека.

Основные scope

Перед перечислением важно понимать: scope влияет и на транзитивные зависимости.

1) compile

  1. Используется при компиляции

  2. Доступна в рантайме

  3. Scope по умолчанию

2) test

  1. Используется только для тестов

  2. Не попадает в production-артефакт

  3. Типично для JUnit и Mockito

3) provided

  1. Нужна при компиляции

  2. Не включается в итоговый артефакт

  3. Предоставляется средой выполнения

4) runtime

  1. Не нужна для компиляции

  2. Требуется при запуске

Практический эффект

  1. Контроль размера сборки

  2. Чёткое разделение runtime и test зависимостей

  3. Предсказуемость окружения

Краткий вывод

Scope позволяет точно управлять тем, где и когда используется зависимость, и является важным инструментом поддержания порядка в Maven-проекте.

Уровень

  • Рейтинг:

    5

  • Сложность:

    4

Навыки

  • Java

    Java

Ключевые слова

#maven

#scope

Подпишись на Java Developer в телеграм