La différence entre les deux est mieux apportée dans ce qui semble une définition nécessaire et suffisante de l'élément dependencyManagement disponible dans les documents du site Web Maven:
dependencyManagement
"Informations de dépendance par défaut pour les projets qui héritent de celui-ci. Les dépendances de cette section ne sont pas immédiatement résolues. Au lieu de cela, lorsqu'un POM dérivé de celui-ci déclare une dépendance décrite par un groupId et un artifactId correspondants, la version et d'autres valeurs de cette section sont utilisés pour cette dépendance s'ils ne sont pas déjà spécifiés. " [ https://maven.apache.org/ref/3.6.1/maven-model/maven.html ]
Il doit être lu avec plus d'informations disponibles sur une autre page:
«..L'ensemble minimal d'informations pour faire correspondre une référence de dépendance à une section dependencyManagement est en fait {groupId, artifactId, type, classifier}. Dans de nombreux cas, ces dépendances feront référence à des artefacts jar sans classificateur. Cela nous permet de raccourcir l'identité définie sur {groupId, artifactId}, car la valeur par défaut pour le champ type est jar et le classificateur par défaut est null. " [ https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html ]
Ainsi, tous les sous-éléments (portée, exclusions, etc.) d'un élément de dépendance - autres que groupId, artifactId, type, classifier, et pas seulement la version - sont disponibles pour le verrouillage / par défaut au point (et donc hérités de à partir de là) vous spécifiez la dépendance dans un élément dependencyElement. Si vous aviez spécifié une dépendance avec les sous-éléments type et classifier (voir la première page Web citée pour vérifier tous les sous-éléments) comme non jar et non null respectivement, vous auriez besoin de {groupId, artifactId, classifier, type} pour référencer (résoudre) cette dépendance à tout moment dans un héritage provenant de l'élément dependencyManagement. Sinon, {groupId, artifactId} suffirait si vous n'avez pas l'intention de remplacer les valeurs par défaut pour le classificateur et le type (jar et null respectivement). Par défaut, c'est un bon mot-clé dans cette définition; tout sous-élément (autre que groupId,
Ainsi, tout élément de dépendance en dehors de dependencyManagement, que ce soit en tant que référence à un élément de dependencyManagement ou en tant que autonome est immédiatement résolu (c'est-à-dire installé dans le référentiel local et disponible pour les chemins de classe).