Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

Diese Version von GitHub Enterprise wird eingestellt am 2023-03-15. Es wird keine Patch-Freigabe vorgenommen, auch nicht für kritische Sicherheitsprobleme. Für bessere Leistung, verbesserte Sicherheit und neue Features aktualisiere auf die neueste Version von GitHub Enterprise. Wende dich an den GitHub Enterprise-Support, um Hilfe zum Upgrade zu erhalten.

Arbeiten mit der Apache Maven-Registrierung

Du kannst Apache Maven für die Veröffentlichung von Paketen auf GitHub Packages und für die Nutzung von auf GitHub Packages gespeicherten Paketen als Abhängigkeiten in einem Java-Projekt konfigurieren.

GitHub Packages ist verfügbar mit GitHub Free, GitHub Pro, GitHub Free für Organisationen, GitHub Team, GitHub Enterprise Cloud, GitHub Enterprise Server 3.0 oder höher, und GitHub AE. Weitere Informationen zum Upgrade deiner Instanz von GitHub Enterprise Server findest du unter „Über Upgrades auf neue Versionen“ und im Upgrade assistant, um den Upgrade-Pfad von deiner aktuellen Release-Version zu finden.

Hinweis: Dieser Pakettyp ist möglicherweise nicht für Ihre Instanz verfügbar, weil Websiteadministratoren die einzelnen unterstützten Pakettypen aktivieren oder deaktivieren können. Weitere Informationen findest du unter Konfigurieren der Paketunterstützung für dein Unternehmen.

Bei GitHub Packages authentifizieren

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 für die Authentifizierung bei GitHub Packages oder bei der GitHub Enterprise Server-API verwenden. Wenn du ein personal access token erstellst, kannst du dem Token je nach Bedarf verschiedene Bereiche zuweisen. Weitere Informationen über paketbezogene Bereiche für ein personal access token findest du unter Informationen zu Berechtigungen für GitHub-Pakete.

Um dich bei einer GitHub Packages-Registrierung innerhalb eines GitHub Actions-Workflows zu authentifizieren, kannst du Folgendes verwenden:

  • GITHUB_TOKEN, um Pakete zu veröffentlichen, die mit dem Workflowrepository verbunden sind.
  • Ein personal access token (diesem muss mindestens der Bereich read:packages zugeordnet sein), um Pakete zu installieren, die zu anderen privaten Repositorys gehören (auf die GITHUB_TOKEN nicht zugreifen kann)

Weitere Informationen zum GITHUB_TOKEN, das in GitHub Actions-Workflows verwendet wird, findest du unter Authentifizierung in einem Workflow.

Authentifizieren mit einem personal access token

Du musst ein personal access token mit den entsprechenden Bereichen verwenden, um Pakete in GitHub Packages zu veröffentlichen und zu installieren. Weitere Informationen findest du unter Informationen zu GitHub Packages.

Du kannst dich bei der GitHub Packages mit Apache Maven authentifizieren, indem du die Datei ~/m2/settings.xml bearbeitest und dein personal access token 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 GitHub 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 HOSTNAME durch den Hostnamen von your GitHub Enterprise Server instance und OWNER durch den Namen des Benutzer- oder Organisationskontos, in dessen 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 GitHub 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.

GitHub Packages unterstützt SNAPSHOT-Versionen von Apache Maven. Um das GitHub Packages-Repository zum Herunterladen von SNAPSHOT-Artefakten zu verwenden, aktiviere SNAPSHOTS im POM des nutzenden Projekts oder in deiner ~/.m2/settings.xml-Datei.

Wenn die Unterdomänenisolation für deine Instanz aktiviert ist:

<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>github</activeProfile>
  </activeProfiles>

  <profiles>
    <profile>
      <id>github</id>
      <repositories>
        <repository>
          <id>central</id>
          <url>https://repo1.maven.org/maven2</url>
        </repository>
        <repository>
          <id>github</id>
          <url>https://maven.HOSTNAME/OWNER/REPOSITORY</url>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </repository>
      </repositories>
    </profile>
  </profiles>

  <servers>
    <server>
      <id>github</id>
      <username>USERNAME</username>
      <password>TOKEN</password>
    </server>
  </servers>
</settings>

Wenn die Unterdomänenisolation für deine Instanz deaktiviert ist:

<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>github</activeProfile>
  </activeProfiles>

  <profiles>
    <profile>
      <id>github</id>
      <repositories>
        <repository>
          <id>central</id>
          <url>https://repo1.maven.org/maven2</url>
        </repository>
        <repository>
          <id>github</id>
          <url>HOSTNAME/_registry/maven/OWNER/REPOSITORY</url>
          <snapshots>
            <enabled>true</enabled>
          </snapshots>
        </repository>
      </repositories>
    </profile>
  </profiles>

  <servers>
    <server>
      <id>github</id>
      <username>USERNAME</username>
      <password>TOKEN</password>
    </server>
  </servers>
</settings>

Veröffentlichen eines Pakets

Standardmäßig veröffentlicht GitHub das Paket in ein vorhandenes Repository mit dem gleichen Namen wie das Paket. Beispielsweise veröffentlicht GitHub ein Paket mit dem Namen com.example:test in einem Repository namens OWNER/test.

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 GitHub 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.

  1. Bearbeite das distributionManagement-Element der Datei pom.xml in deinem Paketverzeichnis, und ersetze HOSTNAME durch den Hostnamen von your GitHub Enterprise Server instance, OWNER durch den Namen des Benutzer- oder Organisationskontos, in dessen Besitz sich das Repository befindet, und REPOSITORY durch den Namen des Repositorys, das dein Projekt enthält.

    Wenn die Unterdomänenisolation für deine Instanz aktiviert ist:

    <distributionManagement>
       <repository>
         <id>github</id>
         <name>GitHub OWNER Apache Maven Packages</name>
         <url>https://maven.HOSTNAME/OWNER/REPOSITORY</url>
       </repository>
    </distributionManagement>
    

    If your instance has subdomain isolation disabled:

    <distributionManagement>
       <repository>
         <id>github</id>
         <name>GitHub OWNER Apache Maven Packages</name>
         <url>https://HOSTNAME/_registry/maven/OWNER/REPOSITORY</url>
       </repository>
    </distributionManagement>
    
  2. Publish the package.

    $ mvn deploy

Nachdem Du ein Paket veröffentlicht hast, kannst Du das Paket auf GitHub ansehen. Weitere Informationen findest du unter Anzeigen von Paketen.

Installieren eines Pakets

Um ein Apache Maven-Paket aus der GitHub Packages zu installieren, bearbeite die Datei pom.xml, damit das Paket als Abhängigkeit eingeschlossen wird. Wenn du Pakete aus mehreren Repositorys installieren möchtest, füge jeweils ein repository-Tag hinzu. Weitere Informationen zum Verwenden einer pom.xml-Datei in deinem Projekt findest du in der Apache Maven-Dokumentation unter Einführung in das POM.

  1. Authentifizieren bei GitHub Packages. Weitere Informationen findest Du unter Authentifizieren bei GitHub Packages.

  2. Füge dem dependencies-Element der pom.xml-Datei deines Projekts die Paketabhängigkeiten hinzu, indem du com.example:test durch das Paket ersetzt.

    <dependencies>
      <dependency>
        <groupId>com.example</groupId>
        <artifactId>test</artifactId>
        <version>1.0.0-SNAPSHOT</version>
      </dependency>
    </dependencies>
    
  3. Installiere das Paket.

    $ mvn install

Weitere Informationsquellen