Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
CodeArtifact Mit MVN verwenden
Sie verwenden den mvn
Befehl, um Maven-Builds auszuführen. In diesem Abschnitt wird gezeigt, wie Sie die Verwendung eines CodeArtifact Repositorys konfigurierenmvn
.
Themen
Abhängigkeiten abrufen
Um das Abrufen von Abhängigkeiten aus einem CodeArtifact Repository mvn
zu konfigurieren, müssen Sie die Maven-Konfigurationsdatei und optional die Ihres Projekts bearbeiten. settings.xml
POM
Falls nicht, erstellen und speichern Sie ein CodeArtifact Authentifizierungstoken in einer Umgebungsvariablen, wie unter Übergeben Sie ein Authentifizierungstoken mithilfe einer Umgebungsvariablen So richten Sie die Authentifizierung für Ihr Repository ein. CodeArtifact
-
Fügen Sie in
settings.xml
(normalerweise zu finden unter~/.m2/settings.xml
) einen<servers>
Abschnitt mit einem Verweis auf dieCODEARTIFACT_AUTH_TOKEN
Umgebungsvariable hinzu, sodass Maven das Token in HTTP Anfragen weitergibt.<settings> ... <servers> <server> <id>codeartifact</id> <username>aws</username> <password>${env.CODEARTIFACT_AUTH_TOKEN}</password> </server> </servers> ... </settings>
-
Fügen Sie den URL Endpunkt für Ihr CodeArtifact Repository in einem
<repository>
Element hinzu. Sie können dies in der Dateisettings.xml
oder in der POM Datei Ihres Projekts tun.Sie können den Endpunkt Ihres Repositorys mit dem
get-repository-endpoint
AWS CLI Befehl abrufen.Zum Beispiel mit einem Repository namens
my_repo
innerhalb einer Domain mit dem Namenmy_domain
, der Befehl lautet wie folgt:aws codeartifact get-repository-endpoint --domain my_domain --repository my_repo --format maven
Der
get-repository-endpoint
Befehl gibt den Repository-Endpunkt zurück:url 'https://
my_domain
-111122223333
.d.codeartifact.us-west-2
.amazonaws.com/maven/my_repo
/'Anmerkung
Um einen Dual-Stack-Endpunkt zu verwenden, verwenden Sie den
codeartifact.
Endpunkt.region
.on.awsFügen Sie den Repository-Endpunkt
settings.xml
wie folgt hinzu.<settings> ... <profiles> <profile> <id>default</id> <repositories> <repository> <id>codeartifact</id> <url>https://
my_domain
-111122223333
.d.codeartifact.us-west-2
.amazonaws.com/maven/my_repo
/</url> </repository> </repositories> </profile> </profiles> <activeProfiles> <activeProfile>default</activeProfile> </activeProfiles> ... </settings>Sie können den
<repositories>
Abschnitt auch zu einer POM Projektdatei hinzufügen, um ihn nur CodeArtifact für dieses Projekt zu verwenden.<project> ... <repositories> <repository> <id>codeartifact</id> <name>codeartifact</name> <url>https://
my_domain
-111122223333
.d.codeartifact.us-west-2
.amazonaws.com/maven/my_repo
/</url> </repository> </repositories> ... </project>
Wichtig
Sie können einen beliebigen Wert im <id>
Element verwenden, dieser muss jedoch in den <repository>
Elementen <server>
und identisch sein. Dadurch können die angegebenen Anmeldeinformationen in Anfragen an aufgenommen werden CodeArtifact.
Nachdem Sie diese Konfigurationsänderungen vorgenommen haben, können Sie das Projekt erstellen.
mvn compile
Maven protokolliert alle Abhängigkeiten, die es auf die Konsole herunterlädt, vollständigURL.
[INFO] ------------------< com.example.example:myapp >------------------- [INFO] Building myapp 1.0 [INFO] --------------------------------[ jar ]--------------------------------- Downloading from codeartifact: https://<domain>.d.codeartifact.us-west-2.amazonaws.com/maven/myrepo/commons-cli/commons-cli/1.4/commons-cli-1.4.pom Downloaded from codeartifact: https://<domain>.d.codeartifact.us-west-2.amazonaws.com/maven/myrepo/commons-cli/commons-cli/1.4/commons-cli-1.4.pom (11 kB at 3.9 kB/s) Downloading from codeartifact: https://<domain>.d.codeartifact.us-west-2.amazonaws.com/maven/myrepo/org/apache/commons/commons-parent/42/commons-parent-42.pom Downloading from codeartifact: https://<domain>.d.codeartifact.us-west-2.amazonaws.com/maven/myrepo/org/apache/commons/commons-parent/42/commons-parent-42.pom Downloaded from codeartifact: https://<domain>.d.codeartifact.us-west-2.amazonaws.com/maven/myrepo/org/apache/commons/commons-parent/42/commons-parent-42.pom (68 kB at 123 kB/s) Downloading from codeartifact: https://<domain>.d.codeartifact.us-west-2.amazonaws.com/maven/myrepo/commons-cli/commons-cli/1.4/commons-cli-1.4.jar Downloaded from codeartifact: https://<domain>.d.codeartifact.us-west-2.amazonaws.com/maven/myrepo/commons-cli/commons-cli/1.4/commons-cli-1.4.jar (54 kB at 134 kB/s)
Veröffentlichen Sie Artefakte
Um ein Maven-Artefakt in einem CodeArtifact Repository mvn
zu veröffentlichen, müssen Sie auch das Projekt bearbeiten~/.m2/settings.xml
. POM
Falls nicht, erstellen und speichern Sie ein CodeArtifact Authentifizierungstoken in einer Umgebungsvariablen, wie unter Übergeben Sie ein Authentifizierungstoken mithilfe einer Umgebungsvariablen So richten Sie die Authentifizierung für Ihr Repository ein. CodeArtifact
-
Fügen Sie einen
<servers>
Abschnittsettings.xml
mit einem Verweis auf dieCODEARTIFACT_AUTH_TOKEN
Umgebungsvariable hinzu, sodass Maven das Token in HTTP Anfragen weitergibt.<settings> ... <servers> <server> <id>codeartifact</id> <username>aws</username> <password>${env.CODEARTIFACT_AUTH_TOKEN}</password> </server> </servers> ... </settings>
-
Fügen Sie Ihrem Projekt einen
<distributionManagement>
Abschnitt hinzu.pom.xml
<project> ... <distributionManagement> <repository> <id>codeartifact</id> <name>codeartifact</name> <url>https://
my_domain
-111122223333
.d.codeartifact.us-west-2.amazonaws.com/maven/my_repo
/</url> </repository> </distributionManagement> ... </project>
Nachdem Sie diese Konfigurationsänderungen vorgenommen haben, können Sie das Projekt erstellen und im angegebenen Repository veröffentlichen.
mvn deploy
Wird verwendetlist-package-versions
, um zu überprüfen, ob das Paket erfolgreich veröffentlicht wurde.
aws codeartifact list-package-versions --domain
my_domain
--domain-owner111122223333
--repositorymy_repo
--formatmaven
\ --namespacecom.company.framework
--packagemy-package-name
Beispielausgabe:
{ "defaultDisplayVersion": null, "format": "
maven
", "namespace": "com.company.framework
", "package": "my-package-name
", "versions": [ { "version": "1.0", "revision": "REVISION-SAMPLE-1-C7F4S5E9B772FC", "status": "Published" } ] }
Veröffentlichen Sie Artefakte von Drittanbietern
Sie können Maven-Artefakte von Drittanbietern in einem CodeArtifact Repository mit mvn deploy:deploy-file
veröffentlichen. Dies kann für Benutzer hilfreich sein, die Artefakte veröffentlichen möchten und nur über JAR Dateien verfügen und keinen Zugriff auf den Quellcode oder die POM Dateien des Pakets haben.
Der mvn deploy:deploy-file
Befehl generiert eine POM Datei auf der Grundlage der in der Befehlszeile übergebenen Informationen.
Veröffentlichen Sie Maven-Artefakte von Drittanbietern
Falls nicht, erstellen und speichern Sie ein CodeArtifact Authentifizierungstoken in einer Umgebungsvariablen, wie unter Übergeben Sie ein Authentifizierungstoken mithilfe einer Umgebungsvariablen So richten Sie die Authentifizierung für Ihr CodeArtifact Repository ein.
-
Erstellen Sie eine
~/.m2/settings.xml
Datei mit dem folgenden Inhalt:<settings> <servers> <server> <id>codeartifact</id> <username>aws</username> <password>${env.CODEARTIFACT_AUTH_TOKEN}</password> </server> </servers> </settings>
-
Führen Sie den Befehl
mvn deploy:deploy-file
aus:mvn deploy:deploy-file -DgroupId=commons-cli \ -DartifactId=commons-cli \ -Dversion=1.4 \ -Dfile=./commons-cli-1.4.jar \ -Dpackaging=jar \ -DrepositoryId=codeartifact \ -Durl=https://
my_domain
-111122223333
.d.codeartifact.region
.amazonaws.com/maven/repo-name
/Anmerkung
Das obige Beispiel veröffentlicht
commons-cli 1.4
. Ändern Sie die ArgumentegroupId, artifactID, version und file, um eine andere zu veröffentlichen. JAR
Diese Anweisungen basieren auf Beispielen im Leitfaden zur Bereitstellung eines JARs Drittanbieter-Repositorys
Beschränken Sie das Herunterladen von Maven-Abhängigkeiten auf ein Repository CodeArtifact
Wenn ein Paket nicht aus einem konfigurierten Repository abgerufen werden kann, ruft der mvn
Befehl es standardmäßig von Maven Central ab. Fügen Sie das mirrors
Element hinzu, damit settings.xml
Sie mvn
immer Ihr Repository verwenden können. CodeArtifact
<settings> ... <mirrors> <mirror> <id>central-mirror</id> <name>CodeArtifact Maven Central mirror</name> <url>https://
my_domain
-111122223333
.d.codeartifact.us-west-2
.amazonaws.com/maven/my_repo
/</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors> ... </settings>
Wenn Sie ein mirrors
Element hinzufügen, müssen Sie auch ein pluginRepository
Element in Ihrem settings.xml
oder habenpom.xml
. Im folgenden Beispiel werden Anwendungsabhängigkeiten und Maven-Plugins aus einem CodeArtifact Repository abgerufen.
<settings> ... <profiles> <profile> <pluginRepositories> <pluginRepository> <id>codeartifact</id> <name>CodeArtifact Plugins</name> <url>https://
my_domain
-111122223333
.d.codeartifact.us-west-2
.amazonaws.com/maven/my_repo
/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> </pluginRepositories> </profile> </profiles> ... </settings>
Im folgenden Beispiel werden Anwendungsabhängigkeiten aus einem CodeArtifact Repository und Maven-Plugins aus Maven Central abgerufen.
<profiles> <profile> <id>default</id> ... <pluginRepositories> <pluginRepository> <id>central-plugins</id> <name>Central Plugins</name> <url>https://repo.maven.apache.org/maven2/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> </pluginRepositories> .... </profile> </profiles>
Informationen zum Apache Maven-Projekt
Weitere Informationen zu Maven finden Sie in den folgenden Themen auf der Apache Maven Project-Website: