Découverte de services : les instances Eureka peuvent être enregistrées et les clients peuvent découvrir les instances à l'aide de beans gérés par Spring.
Service Discovery : un serveur Eureka intégré peut être créé avec une configuration Java déclarative
Pour créer la source, vous devrez installer JDK 17.
Spring Cloud utilise Maven pour la plupart des activités liées à la construction, et vous devriez pouvoir démarrer assez rapidement en clonant le projet qui vous intéresse et en tapant
$ ./mvnw installer
Note | Vous pouvez également installer Maven (>=3.3.3) vous-même et exécuter la commande mvn à la place de ./mvnw dans les exemples ci-dessous. Si vous faites cela, vous devrez peut-être également ajouter -P spring si vos paramètres Maven locaux ne contiennent pas de déclarations de référentiel pour les artefacts de pré-version Spring. |
Note | Sachez que vous devrez peut-être augmenter la quantité de mémoire disponible pour Maven en définissant une variable d'environnement MAVEN_OPTS avec une valeur telle que -Xmx512m -XX:MaxPermSize=128m . Nous essayons de couvrir cela dans la configuration .mvn , donc si vous constatez que vous devez le faire pour réussir une build, veuillez créer un ticket pour que les paramètres soient ajoutés au contrôle de code source. |
Les projets qui nécessitent un middleware (c'est-à-dire Redis) pour les tests nécessitent généralement qu'une instance locale de [Docker](https://www.docker.com/get-started) soit installée et exécutée.
Le module spring-cloud-build a un profil "docs", et si vous l'activez, il essaiera de créer des sources asciidoc en utilisant Antora à partir de modules/ROOT/
.
Dans le cadre de ce processus, il recherchera un docs/src/main/asciidoc/README.adoc
et le traitera en chargeant toutes les inclusions, mais sans l'analyser ni le rendre, il le copiera simplement dans ${main.basedir}
(par défaut : ${basedir}
, c'est à dire la racine du projet). S'il y a des modifications dans le fichier README, il apparaîtra alors après une construction Maven en tant que fichier modifié au bon endroit. Validez-le simplement et poussez le changement.
Si vous n'avez pas de préférence IDE, nous vous recommandons d'utiliser Spring Tools Suite ou Eclipse lorsque vous travaillez avec le code. Nous utilisons le plugin m2eclipse Eclipse pour le support Maven. D'autres IDE et outils devraient également fonctionner sans problème tant qu'ils utilisent Maven 3.3.3 ou supérieur.
Les projets Spring Cloud nécessitent que le profil Maven « spring » soit activé pour résoudre les référentiels de jalons et d'instantanés Spring. Utilisez votre IDE préféré pour définir ce profil pour qu'il soit actif, sinon vous pourriez rencontrer des erreurs de construction.
Nous recommandons le plugin m2eclipse Eclipse lorsque vous travaillez avec Eclipse. Si vous n'avez pas encore installé m2eclipse, il est disponible sur le "marché Eclipse".
Note | Les anciennes versions de m2e ne prennent pas en charge Maven 3.3, donc une fois les projets importés dans Eclipse, vous devrez également indiquer à m2eclipse d'utiliser le bon profil pour les projets. Si vous voyez de nombreuses erreurs différentes liées aux POM dans les projets, vérifiez que vous disposez d'une installation à jour. Si vous ne pouvez pas mettre à niveau m2e, ajoutez le profil "spring" à votre settings.xml . Vous pouvez également copier les paramètres du référentiel du profil "spring" du pom parent dans votre settings.xml . |
Si vous préférez ne pas utiliser m2eclipse, vous pouvez générer les métadonnées du projet Eclipse à l'aide de la commande suivante :
$ ./mvnw éclipse:éclipse
Les projets Eclipse générés peuvent être importés en sélectionnant import existing projects
dans le menu file
.
Note | Pour créer le module spring-cloud-netflix-hystrix-contract avec l'ensemble du projet Netflix, exécutez le script build.sh dans le répertoire scripts . |
Note | Spring Cloud est publié sous la licence non restrictive Apache 2.0. Si vous souhaitez contribuer à cette section de la documentation ou si vous trouvez une erreur, veuillez trouver le code source et les trackers de problèmes dans le projet sur {github-project}[github]. |
Le fichier de licence du projet est disponible ici.