Разница между ними лучше всего заключается в том, что кажется необходимым и достаточным определением элемента dependencyManagement, доступного в документах веб-сайта Maven:
dependencyManagement
«Информация о зависимостях по умолчанию для проектов, которые наследуются от этого. Зависимости в этом разделе не разрешаются сразу. Вместо этого, когда POM, производное от этого, объявляет зависимость, описанную соответствующими groupId и artifactId, версия и другие значения из этого раздела используются для этой зависимости, если они еще не были указаны ". [ https://maven.apache.org/ref/3.6.1/maven-model/maven.html ]
Следует прочитать вместе с дополнительной информацией, доступной на другой странице:
«... минимальным набором информации для сопоставления ссылки на зависимость с разделом dependencyManagement на самом деле является {groupId, artifactId, type, classifier}. Во многих случаях эти зависимости будут ссылаться на артефакты jar без классификатора. Это позволяет нам сокращать идентификатор, установленный на {groupId, artifactId}, так как по умолчанию для поля типа является jar, а классификатор по умолчанию равен нулю ». [ https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html ]
Таким образом, все подэлементы (область действия, исключения и т. Д.) Элемента зависимости - кроме groupId, artifactId, типа, классификатора, а не только версии - доступны для блокировки / дефолта в точке (и, таким образом, наследуются от там далее) вы указываете зависимость внутри dependencyElement. Если бы вы указали зависимость с подэлементами type и classifier (см. Первую цитируемую веб-страницу, чтобы проверить все подэлементы) как не jar и не null соответственно, вам потребуется {groupId, artifactId, classifier, type} ссылаться (разрешать) эту зависимость в любой точке наследования, происходящего из элемента dependencyManagement. Иначе, {groupId, artifactId} будет достаточно, если вы не собираетесь переопределять значения по умолчанию для классификатора и типа (jar и null соответственно). Так что по умолчанию это хорошее ключевое слово в этом определении; любой подэлемент (ы) (кроме groupId,
Таким образом, любой элемент зависимостей за пределами dependencyManagement, будь то ссылка на какой-либо элемент dependencyManagement или автономный, немедленно разрешается (т.е. устанавливается в локальный репозиторий и доступен для путей к классам).