Service-Erkennung: Eureka-Instanzen können registriert werden und Clients können die Instanzen mithilfe von Spring-verwalteten Beans erkennen
Service Discovery: Ein eingebetteter Eureka-Server kann mit deklarativer Java-Konfiguration erstellt werden
Um die Quelle zu erstellen, müssen Sie JDK 17 installieren.
Spring Cloud verwendet Maven für die meisten Build-bezogenen Aktivitäten, und Sie sollten in der Lage sein, recht schnell loszulegen, indem Sie das Projekt, an dem Sie interessiert sind, klonen und eingeben
$ ./mvnw installieren
Notiz | Sie können Maven (>=3.3.3) auch selbst installieren und in den folgenden Beispielen den Befehl mvn anstelle von ./mvnw ausführen. Wenn Sie dies tun, müssen Sie möglicherweise auch -P spring hinzufügen, wenn Ihre lokalen Maven-Einstellungen keine Repository-Deklarationen für Spring-Vorabversionsartefakte enthalten. |
Notiz | Beachten Sie, dass Sie möglicherweise den für Maven verfügbaren Speicher erhöhen müssen, indem Sie eine MAVEN_OPTS Umgebungsvariable mit einem Wert wie -Xmx512m -XX:MaxPermSize=128m festlegen. Wir versuchen, dies in der .mvn -Konfiguration abzudecken. Wenn Sie also feststellen, dass dies für einen erfolgreichen Build erforderlich ist, erstellen Sie bitte ein Ticket, damit die Einstellungen zur Quellcodeverwaltung hinzugefügt werden. |
Die Projekte, die Middleware (z. B. Redis) zum Testen erfordern, erfordern im Allgemeinen, dass eine lokale Instanz von [Docker] (https://www.docker.com/get-started) installiert ist und ausgeführt wird.
Das Spring-Cloud-Build-Modul verfügt über ein „docs“-Profil. Wenn Sie dieses aktivieren, wird versucht, Asciidoc-Quellen mit Antora aus modules/ROOT/
zu erstellen.
Als Teil dieses Prozesses sucht es nach einem docs/src/main/asciidoc/README.adoc
und verarbeitet es, indem es alle Includes lädt, es aber nicht analysiert oder rendert, sondern es einfach nach ${main.basedir}
kopiert (standardmäßig). ${basedir}
, also das Stammverzeichnis des Projekts). Wenn es Änderungen in der README-Datei gibt, wird diese nach einem Maven-Build als geänderte Datei an der richtigen Stelle angezeigt. Commitieren Sie es einfach und treiben Sie die Änderung voran.
Wenn Sie keine IDE-Präferenz haben, empfehlen wir Ihnen, bei der Arbeit mit dem Code Spring Tools Suite oder Eclipse zu verwenden. Wir verwenden das Eclipse-Plugin m2eclipse für die Maven-Unterstützung. Auch andere IDEs und Tools sollten problemlos funktionieren, solange sie Maven 3.3.3 oder höher verwenden.
Für Spring Cloud-Projekte muss das „Spring“-Maven-Profil aktiviert werden, um die Spring-Meilenstein- und Snapshot-Repositorys aufzulösen. Verwenden Sie Ihre bevorzugte IDE, um dieses Profil als aktiv festzulegen. Andernfalls können Buildfehler auftreten.
Für die Arbeit mit Eclipse empfehlen wir das Eclipse-Plugin m2eclipse. Wenn Sie m2eclipse noch nicht installiert haben, ist es auf dem „Eclipse-Marktplatz“ verfügbar.
Notiz | Ältere Versionen von m2e unterstützen Maven 3.3 nicht, daher müssen Sie nach dem Import der Projekte in Eclipse auch m2eclipse anweisen, das richtige Profil für die Projekte zu verwenden. Wenn Sie viele verschiedene Fehler im Zusammenhang mit den POMs in den Projekten sehen, überprüfen Sie, ob Ihre Installation auf dem neuesten Stand ist. Wenn Sie m2e nicht aktualisieren können, fügen Sie das Profil „Spring“ zu Ihrer settings.xml hinzu. Alternativ können Sie die Repository-Einstellungen aus dem „Spring“-Profil des übergeordneten POM in Ihre settings.xml kopieren. |
Wenn Sie m2eclipse lieber nicht verwenden möchten, können Sie Eclipse-Projektmetadaten mit dem folgenden Befehl generieren:
$ ./mvnw Eclipse:Eclipse
Die generierten Eclipse-Projekte können importiert werden, indem Sie im file
import existing projects
auswählen.
Notiz | Um das Modul spring-cloud-netflix-hystrix-contract zusammen mit dem gesamten Netflix-Projekt zu erstellen, führen Sie das Skript build.sh im scripts aus. |
Notiz | Spring Cloud wird unter der nicht restriktiven Apache 2.0-Lizenz veröffentlicht. Wenn Sie zu diesem Abschnitt der Dokumentation beitragen möchten oder einen Fehler finden, finden Sie den Quellcode und die Issue-Tracker im Projekt unter {github-project}[github]. |
Die Projektlizenzdatei ist hier verfügbar.