Dans Spring Boot, il existe des pots sur le modèle spring-boot-starter
. Tous ces pots ne contiennent aucun paquet. Quelle est leur utilisation?
Dans les POM Maven, les dépendances suivantes sont ajoutées:
De quels bocaux Spring Boot ai-je réellement besoin pour utiliser les fonctionnalités de ces bocaux? Mon projet n'a pas de gestion de dépendance. Mon projet est une application Spring MVC utilisant Spring Security.
Ces dépendances sont censées fournir une entrée unifiée à un projet squelette ad-hoc avec toutes les dépendances required.
Ils doivent généralement être hérités de votre descripteur de projet (pom.xml) afin que vous obteniez toutes les dépendances parent avec des versions configurées. Fini le fardeau du développeur:
Les POM de démarrage sont un ensemble de descripteurs de dépendance pratiques que vous pouvez inclure dans votre application. Vous obtenez un guichet unique pour toutes les technologies Spring et les technologies connexes dont vous avez besoin, sans avoir à parcourir un exemple de code et à copier-coller des charges de descripteurs de dépendance. Par exemple, si vous souhaitez commencer à utiliser Spring et JPA pour accéder à une base de données, incluez simplement la dépendance spring-boot-starter-data-jpa dans votre projet, et vous êtes prêt à partir.
Référence, POM de démarrage du ressort.
Ces POM peuvent être utilisés pour synthétiser les dépendances pouvant être utilisées pour un certain type de projet, par exemple. pour un projet Spring MVC simple, les artefacts suivants doivent être inclus (Read from spring-boot-starter, spring-boot-starter-web, spring-boot-starter-security respectivement):
Les artefacts sont facilement accessibles en naviguant dans les résultats de la recherche dans le répertoire maven central .
Notez qu'il ne s'agit peut-être pas d'une liste de référence complète, car certains composants risquent d'être défaillants. Les artefacts sont donc susceptibles d'être mis à jour.
En termes simples, ce sont des descripteurs de dépendance qui répertorient les dépendances transitives avec des versions testées qui fonctionnent ensemble pour vous faire gagner du temps lorsque vous essayez de rassembler des bibliothèques prenant en charge certaines facettes d'une application.
Vous pouvez également demander à maven de signaler les dépendances requises par les différents fichiers spring-boot-starter- * définis dans le fichier pom.xml du projet d'amorçage spring, à l'aide de la commande suivante
mvn dependency:resolve
Par exemple, avec spring 1.5.8.RELEASE, les bocaux suivants (et leurs versions) sont utilisés
Le format de la note est Identifiant de groupe: Identifiant d'artefact: Version: Portée
The following files have been resolved:
com.fasterxml.jackson.core:jackson-annotations:jar:2.8.0:compile
org.jboss.logging:jboss-logging:jar:3.3.1.Final:compile
aopalliance:aopalliance:jar:1.0:compile
org.hamcrest:hamcrest-library:jar:1.3:test
org.mockito:mockito-core:jar:1.10.19:test
org.assertj:assertj-core:jar:2.6.0:test
org.springframework:spring-beans:jar:4.3.12.RELEASE:compile
org.springframework.boot:spring-boot-test:jar:1.5.8.RELEASE:test
org.springframework.boot:spring-boot-autoconfigure:jar:1.5.8.RELEASE:compile
org.springframework.boot:spring-boot-starter-Tomcat:jar:1.5.8.RELEASE:compile
org.skyscreamer:jsonassert:jar:1.4.0:test
org.yaml:snakeyaml:jar:1.17:runtime
com.fasterxml:classmate:jar:1.3.4:compile
org.slf4j:jcl-over-slf4j:jar:1.7.25:compile
org.springframework.boot:spring-boot-starter-test:jar:1.5.8.RELEASE:test
org.hamcrest:hamcrest-core:jar:1.3:test
com.jayway.jsonpath:json-path:jar:2.2.0:test
org.Apache.Tomcat.embed:Tomcat-embed-websocket:jar:8.5.23:compile
org.springframework.boot:spring-boot:jar:1.5.8.RELEASE:compile
org.Apache.Tomcat:tomcat-annotations-api:jar:8.5.23:compile
org.springframework:spring-context:jar:4.3.12.RELEASE:compile
org.hibernate:hibernate-validator:jar:5.3.5.Final:compile
javax.validation:validation-api:jar:1.1.0.Final:compile
org.Apache.Tomcat.embed:Tomcat-embed-core:jar:8.5.23:compile
org.springframework.boot:spring-boot-starter-logging:jar:1.5.8.RELEASE:compile
com.fasterxml.jackson.core:jackson-core:jar:2.8.10:compile
org.ow2.asm:asm:jar:5.0.3:test
org.Apache.Tomcat.embed:Tomcat-embed-el:jar:8.5.23:compile
org.slf4j:log4j-over-slf4j:jar:1.7.25:compile
org.springframework:spring-web:jar:4.3.12.RELEASE:compile
ch.qos.logback:logback-core:jar:1.1.11:compile
org.springframework.security:spring-security-core:jar:4.2.3.RELEASE:compile
org.springframework:spring-test:jar:4.3.12.RELEASE:test
org.springframework.boot:spring-boot-starter:jar:1.5.8.RELEASE:compile
org.springframework.security:spring-security-test:jar:4.2.3.RELEASE:test
org.springframework.boot:spring-boot-starter-web:jar:1.5.8.RELEASE:compile
org.springframework:spring-core:jar:4.3.12.RELEASE:compile
org.springframework.boot:spring-boot-starter-security:jar:1.5.8.RELEASE:compile
org.springframework.boot:spring-boot-actuator:jar:1.5.8.RELEASE:compile
org.objenesis:objenesis:jar:2.1:test
org.springframework:spring-expression:jar:4.3.12.RELEASE:compile
org.springframework.boot:spring-boot-starter-actuator:jar:1.5.8.RELEASE:compile
org.springframework.security:spring-security-config:jar:4.2.3.RELEASE:compile
org.springframework.security:spring-security-web:jar:4.2.3.RELEASE:compile
org.springframework:spring-aop:jar:4.3.12.RELEASE:compile
junit:junit:jar:4.12:test
org.slf4j:slf4j-api:jar:1.7.25:compile
net.minidev:json-smart:jar:2.2.1:test
org.springframework.boot:spring-boot-test-autoconfigure:jar:1.5.8.RELEASE:test
net.minidev:accessors-smart:jar:1.1:test
org.springframework:spring-webmvc:jar:4.3.12.RELEASE:compile
ch.qos.logback:logback-classic:jar:1.1.11:compile
org.slf4j:jul-to-slf4j:jar:1.7.25:compile
com.fasterxml.jackson.core:jackson-databind:jar:2.8.10:compile
Ignorez simplement les fichiers jars dotés d'une étendue de test pour le déploiement.
Si vous n'avez pas le projet de démarrage de printemps à portée de main, créez-en simplement un à Spring Initializr , avec les démarreurs de démarrage de printemps dont vous avez besoin. Il utilise également maven wrapper , qui enveloppe la commande maven, ce qui vous fait gagner du temps lors de la configuration et de l'installation de maven séparément.
Il suffit donc de télécharger le fichier Zip à partir de Spring Initializr, décompressez et ouvrez une invite de commande dans le dossier décompressé, puis utilisez la commande suivante.
Pour Linux/Mac OS
./mvnw dependency:resolve
Pour les fenêtres
./mvnw.cmd dependency:resolve