Hinweis
Packages unterstützt nur die Authentifizierung mit einem personal access token (classic). Weitere Informationen finden Sie unter Verwalten deiner persönlichen Zugriffstoken.
Du benötigst ein Zugriffstoken, um private, interne und öffentliche Pakete zu veröffentlichen, zu installieren und zu löschen.
Du kannst ein personal access token (classic) verwenden, um dich bei Packages oder der -API zu authentifizieren. Wenn du ein personal access token (classic) erstellst, kannst du dem Token je nach Bedarf verschiedene Bereiche zuweisen. Weitere Informationen zu paketbezogenen Bereichen für ein personal access token (classic) findest du unter Informationen zu Berechtigungen für -Pakete.
Um dich bei einer Packages-Registrierung innerhalb eines Actions-Workflows zu authentifizieren, kannst du Folgendes verwenden:
_TOKEN
, um Pakete zu veröffentlichen, die mit dem Workflowrepository verbunden sind.- Ein personal access token (classic) mit mindestens dem
read:packages
-Bereich für die Installation von Paketen, die anderen privaten Repositorys zugeordnet sind (_TOKEN
kann verwendet werden, wenn das Repository Lesezugriff auf das Paket enthält. Weitere Informationen findest du unter Konfigurieren der Zugriffssteuerung und Sichtbarkeit von Paketen).
Weitere Informationen zum _TOKEN
, das in Actions-Workflows verwendet wird, findest du unter Automatische Tokenauthentifizierung.
Du musst ein personal access token (classic) mit den entsprechenden Bereichen verwenden, um Pakete in Packages zu veröffentlichen und zu installieren. Weitere Informationen finden Sie unter Einführung in -Pakete.
Du kannst dich bei der Packages mit Apache Maven authentifizieren, indem du die Datei ~/m2/settings.xml bearbeitest und dein personal access token (classic) einfügst. Erstelle eine neue ~/.m2/settings.xml-Datei, wenn keine vorhanden ist.
Füge im servers
-Tag ein untergeordnetes server
-Tag mit einer id
hinzu, und ersetze USERNAME durch deinen Benutzernamen auf sowie TOKEN durch dein personal access token.
Konfiguriere im Tag repositories
ein Repository, indem du id
des Repositorys der id
zuordnest, die du im Tag server
hinzugefügt hast. Dieses Tag enthält deine Anmeldeinformationen. Ersetze BESITZER durch den Namen des persönlichen Kontos oder die Organisation, in dessen bzw. deren Besitz sich das Repository befindet. Da Großbuchstaben nicht unterstützt werden, musst du für den oder die Repositorybesitzer*in Kleinbuchstaben verwenden, selbst wenn der Benutzer- oder Organisationsname auf Großbuchstaben enthält.
Wenn du mit mehreren Repositorys arbeiten möchtest, kannst du jedes Repository zu untergeordneten repository
-Elementen im Tag repositories
hinzufügen und die jeweilige id
den einzelnen Anmeldeinformationen im Tag servers
zuordnen.
Packages unterstützt SNAPSHOT
-Versionen von Apache Maven. Um das Packages-Repository zum Herunterladen von SNAPSHOT
-Artefakten zu verwenden, aktiviere SNAPSHOTS im POM des nutzenden Projekts oder in deiner ~/.m2/settings.xml-Datei.
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd">
<activeProfiles>
<activeProfile></activeProfile>
</activeProfiles>
<profiles>
<profile>
<id></id>
<repositories>
<repository>
<id>central</id>
<url>https://repo1.maven.org/maven2</url>
</repository>
<repository>
<id></id>
<url>https://maven.pkg..com/OWNER/REPOSITORY</url>
<snapshots>
<enabled>true</enabled>
</snapshots>
</repository>
</repositories>
</profile>
</profiles>
<servers>
<server>
<id></id>
<username>USERNAME</username>
<password>TOKEN</password>
</server>
</servers>
</settings>
Standardmäßig veröffentlicht das Paket in ein vorhandenes Repository mit dem gleichen Namen wie das Paket. Beispielsweise veröffentlicht ein Paket mit dem Namen com.example:test
in einem Repository namens OWNER/test
.
Warnung
Dein Apache Maven-Paket muss der Benennungskonvention entsprechen, und daher sollte das Feld artifactId
nur Kleinbuchstaben, Ziffern oder Bindestriche enthalten. Weitere Informationen findest du unter Benennungskonvention von Maven-Koordinaten in der Dokumentation auf maven.apache.org. Wenn du im Artefaktnamen Großbuchstaben verwendest, wird die Antwort 422 Unprocessable Entity zurückgegeben.
Wenn du mehrere Pakete im gleichen Repository veröffentlichen möchtest, kannst du die Repository-URL im <distributionManagement>
-Element der Datei pom.xml einschließen. Basierend auf diesem Feld gleicht dem Repository. Du musst keine zusätzlichen Schritte durchführen, um mehrere Pakete im gleichen Repository zu veröffentlichen, da der Repositoryname auch Teil des distributionManagement
-Elements ist.
Weitere Informationen zum Erstellen eines Pakets findest du in der Dokumentation zu maven.apache.org.
Bearbeite das
distributionManagement
-Element der Datei pom.xml in deinem Paketverzeichnis, und ersetzeOWNER
durch den Namen des persönlichen Kontos oder der Organisation, in dessen bzw. deren Besitz sich das Repository befindet, undREPOSITORY
durch den Namen des Repositorys, das dein Projekt enthält.<distributionManagement> <repository> <id></id> <name> OWNER Apache Maven Packages</name> <url>https://maven.pkg..com/OWNER/REPOSITORY</url> </repository> </distributionManagement>
Publish the package.
mvn deploy
Nachdem Du ein Paket veröffentlicht hast, kannst Du das Paket auf ansehen. Weitere Informationen finden Sie unter Pakete anzeigen.
Um ein Apache Maven-Paket aus der Packages zu installieren, bearbeite die Datei pom.xml, damit das Paket als Abhängigkeit eingeschlossen wird. Wenn du Pakete aus einem beliebigen Repository für angegebene Repositorybesitzer*innen installieren möchtest, verwende eine Repository-URL wie https://maven.pkg..com/OWNER/*
. Weitere Informationen zum Verwenden einer pom.xml-Datei in deinem Projekt findest du in der Apache Maven-Dokumentation unter Einführung in POM.
Authentifizieren bei Packages. Weitere Informationen findest Du unter Authentifizieren bei Packages.
Füge dem
dependencies
-Element der pom.xml-Datei deines Projekts die Paketabhängigkeiten hinzu, indem ducom.example:test
durch das Paket ersetzt.<dependencies> <dependency> <groupId>com.example</groupId> <artifactId>test</artifactId> <version>1.0.0-SNAPSHOT</version> </dependency> </dependencies>
Installiere das Paket.
mvn install