Skip to content

Comment certaines dépendances gradle fonctionnent-elles sans version fournie

Solution:

Il convient de mentionner que l’astuce s’appelle BOM (nomenclature) et les versions réelles peuvent être vérifiées dans le fichier POM associé à l’intérieur Spring-boot-dépendances emballer. Ceci est mentionné dans la documentation officielle de Spring Boot ici : Build Systems.

Une autre façon dont Spring fournit cela (pour les projets non Boot) est via Spring Platform BOM où il fournit en fait la version pour les dépendances suivantes.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'io.spring.gradle:dependency-management-plugin:0.6.0.RELEASE'
    }
}

apply plugin: 'io.spring.dependency-management'

dependencyManagement {
    imports {
        mavenBom 'io.spring.platform:platform-bom:Athens-SR2'
    }
}

TL; DR – Spring boot utilise un résolveur de dépendances personnalisé.

Un plugin de démarrage de printemps qui est appliqué avec le morceau de code suivant :

apply plugin: 'spring-boot'

gère les dépendances répertoriées sans version. Cette logique est implémentée dans cette classe qui la délègue ici. DependencyManagementPluginFeatures sont appliqués ici.

La documentation du plug-in Spring Boot gradle indique ce qui suit :

La version du plugin spring-boot gradle que vous déclarez détermine la version de la nomenclature spring-boot-starter-parent qui est importée (cela garantit que les builds sont toujours reproductibles). Vous devez toujours définir la version du plug-in Spring-boot gradle sur la version réelle de Spring Boot que vous souhaitez utiliser.


Tags : /

Articles Similaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.