Verwenden von Paketen aus Maven Central
Azure DevOps Services | Azure DevOps Server 2022 | Azure DevOps Server 2019
Mithilfe von Azure Artifacts-Upstreamquellen können Sie einen einzelnen Feed verwenden, um sowohl die Pakete zu hosten, die Sie erstellen, als auch Pakete aus öffentlichen Registrierungen wie Maven Central. Wenn Sie Ihrem Feed Upstreamquellen hinzufügen, speichert Azure Artifacts eine Kopie eines pakets, das aus dem Upstream installiert ist. Dies stellt eine kontinuierliche Barrierefreiheit für Ihre Entwicklung sicher, auch wenn eine öffentliche Registrierung einen Ausfall leidet. Darüber hinaus unterstützt Azure Artifacts verschiedene andere Maven-Upstreamquellen, darunter das Google Maven Repository, Gradle Plugins und JitPack.
Voraussetzungen
Ein Azure DevOps-organization und ein Projekt. Erstellen Sie ein organization oder ein Projekt, falls noch nicht geschehen.
Ein Azure Artifacts-Feed.
Hinweis
Maven-Momentaufnahmen werden mit Maven-Upstream-Quellen nicht unterstützt.
Aktivieren von Upstreamquellen
Wenn Sie noch keinen Feed haben, befolgen Sie diese Anweisungen, um einen feed zu erstellen, und stellen Sie sicher, dass Sie das Kontrollkästchen für upstream-Quellen aktivieren, um sie zu aktivieren. Wenn Sie bereits über einen Feed verfügen, fahren Sie mit dem nächsten Schritt fort, um Maven Central als upstream-Quelle hinzuzufügen.
Melden Sie sich bei Ihrer Azure DevOps-Organisation an, und navigieren Sie dann zu Ihrem Projekt.
Wählen Sie Artefakte und dann "Feed erstellen" aus, um einen neuen Feed zu erstellen.
Geben Sie einen beschreibenden Namen für Ihren Feed ein, und definieren Sie die Sichtbarkeit (die angibt, wer Pakete innerhalb des Feeds anzeigen kann). Geben Sie den Bereich Ihres Feeds an, und wenn Sie Pakete aus öffentlichen Quellen einschließen möchten, markieren Sie das Kontrollkästchen "Upstream-Quellen ".
Wählen Sie Erstellen, wenn Sie fertig sind.
Melden Sie sich bei Ihrem Azure DevOps-Server an, und navigieren Sie dann zu Ihrem Projekt.
Wählen Sie Artefakte und dann "Feed erstellen" aus, um einen neuen Feed zu erstellen.
Geben Sie einen beschreibenden Namen für Ihren Feed ein, und definieren Sie die Sichtbarkeit (die angibt, wer Pakete innerhalb des Feeds anzeigen kann). Geben Sie den Bereich Ihres Feeds an, und wenn Sie Pakete aus öffentlichen Quellen einschließen möchten, markieren Sie das Kontrollkästchen "Upstream-Quellen ".
Wählen Sie Erstellen, wenn Sie fertig sind.
Wählen Sie Erstellen, wenn Sie fertig sind.
Melden Sie sich bei Ihrem Azure DevOps-Server an, und navigieren Sie dann zu Ihrem Projekt.
Wählen Sie Artefakte und dann " Neuer Feed" aus.
Geben Sie einen beschreibenden Namen für Ihren Feed ein, und definieren Sie die Sichtbarkeit (die angibt, wer Pakete innerhalb des Feeds anzeigen kann). Wenn Sie Pakete aus öffentlichen Quellen einschließen möchten, wählen Sie die Option "Pakete aus öffentlichen Quellen verwenden" aus.
Wählen Sie Erstellen, wenn Sie fertig sind.
Hinweis
Standardmäßig haben neu erstellte Feeds den Builddienst ihres Projekts auf Feed und Upstream Reader (Mitarbeiter) festgelegt.
Hinzufügen von Maven Central upstream
Wenn Sie beim Erstellen Ihres Feeds das Kontrollkästchen "Upstreamquellen " aktiviert haben, sollte Maven Central bereits als Upstreamquelle hinzugefügt werden. Wenn nicht, können Sie es manuell mit den folgenden Schritten hinzufügen:
Melden Sie sich bei Ihrer Azure DevOps-Organisation an, und navigieren Sie dann zu Ihrem Projekt.
Wählen Sie Artefakte aus, und wählen Sie dann in der oberen rechten Ecke die Option aus, um zu Ihrem Feed Einstellungen zu navigieren.
Wählen Sie Upstreamquellen und dann "Upstream hinzufügen" aus.
Wählen Sie "Öffentliche Quelle", wählen Sie "Maven Central (https://repo.maven.apache.org/maven2/)" aus dem Dropdownmenü und dann "Speichern" aus, wenn Sie fertig sind.
Wählen Sie "Speichern" in der oberen rechten Ecke aus, um Ihre Änderungen zu speichern.
Paket aus Maven Central speichern
Bevor Sie Pakete aus Maven Central speichern, stellen Sie sicher, dass Sie Ihr Projekt für die Verbindung mit Ihrem Feed eingerichtet haben. Wenn Sie dies noch nicht getan haben, befolgen Sie die Anweisungen im Projektsetup , um Ihr Maven-Projekt einzurichten und eine Verbindung mit Ihrem Feed herzustellen.
In diesem Beispiel speichern wir die Kotlin Datetime Library aus Maven Central.
Navigieren Sie zu Maven Central unter
https://mvnrepository.com/
.Suchen Sie nach der Kotlin Datetime-Bibliothek. Wählen Sie das Kotlinx Datetime-Paket und dann die Version aus, die Sie installieren möchten.
Kopieren Sie den
<dependency>
Codeausschnitt von der Registerkarte "Maven ".<dependency> <groupId>org.jetbrains.kotlinx</groupId> <artifactId>kotlinx-datetime-jvm</artifactId> <version>0.4.1</version> <scope>runtime</scope> </dependency>
Öffnen Sie die pom.xml Datei, fügen Sie den Codeausschnitt in Ihr
<dependencies>
Tag ein, und speichern Sie die Datei.Führen Sie den folgenden Befehl aus demselben Pfad wie Ihre pom.xml Datei aus, um Ihre Abhängigkeiten zu installieren:
mvn install
Hinweis
Um Pakete vor dem Upstream zu speichern, müssen Sie über die Rolle " Feed" und "Upstream Reader" (Mitarbeiter) oder höher verfügen. Weitere Informationen finden Sie unter "Berechtigungen verwalten" .
Anzeigen gespeicherter Pakete
Sie können die Pakete anzeigen, die Sie vorgelagert gespeichert haben, indem Sie die Maven Central-Quelle aus dem Dropdownmenü auswählen.
Melden Sie sich bei Ihrer Azure DevOps-Organisation an, und navigieren Sie dann zu Ihrem Projekt.
Wählen Sie Artefakte und dann Ihren Feed im Dropdownmenü aus.
Wählen Sie Maven Central aus dem Quelldropdownmenü aus, um nach Paketen aus diesem Upstream zu filtern.
Das Kotlinx Datetime-Paket , das wir im vorherigen Schritt gespeichert haben, ist jetzt in unserem Feed verfügbar. Azure Artifacts hat automatisch eine Kopie in unserem Feed gespeichert, wenn wir den Mvn-Installationsbefehl ausgeführt haben.
Tipp
Wenn Maven nicht alle Abhängigkeiten herunter lädt, führen Sie den folgenden Befehl aus dem Projektverzeichnis aus, um die Dateien Ihres Projekts neu zu generieren: mvn eclipse:eclipse -DdownloadSources=true -DdownloadJavadocs=true