Вот краткое описание всех поддерживаемых зависимостей (источник maven doc )
compile
Это область по умолчанию, используемая, если ни одна не указана.Зависимости компиляции доступны во всех classpath проекта.Более того, эти зависимости распространяются на зависимые проекты.
при условии
Это очень похоже на компиляцию, но указывает, что вы ожидаете, что JDK или контейнер предоставят зависимость во время выполнения.Например, при создании веб-приложения для Java Enterprise Edition вы должны установить зависимость от API-интерфейса сервлета и связанных API-интерфейсов Java EE, так как веб-контейнер предоставляет эти классы.Эта область доступна только для пути к классам компиляции и тестирования и не является транзитивной.
время выполнения
Эта область указывает, что зависимость не требуется для компиляции, но предназначена для выполнения.Он находится во время выполнения и в пути к классам теста, но не в пути к классам компиляции.
test
Эта область означает, что зависимость не требуется для обычного использования приложения и доступна только дляэтапы составления и выполнения теста.Эта область не является переходной.
system
Эта область аналогична предоставленной, за исключением того, что вы должны предоставить JAR, который содержит ее явно.Артефакт всегда доступен и не просматривается в хранилище.
import (доступно только в Maven 2.0.9 или более поздней версии)
Эта область поддерживается только в зависимости от типа pom всекция.Это указывает, что зависимость должна быть заменена эффективным списком зависимостей в указанном разделе POM.Поскольку они заменяются, зависимости с областью импорта фактически не участвуют в ограничении транзитивности зависимости.