Wie man JAR manuell in maven central veröffentlicht?

8

Ich habe ein Open-Source-Projekt erstellt, das ich gerne in maven central veröffentlichen möchte, damit die Benutzer kann die Bibliothek verwenden, indem sie einfach auf ihr Pom verweisen. Wie so:

%Vor%

Ich habe mehrere Online-Tutorials gefunden, von denen einige nicht mehr aktuell sind. Einige empfehlen, den gesamten Prozess zu automatisieren und ihn dadurch offensichtlich zu komplizieren.

Zum Beispiel ein Tutorial empfohlen, SSH-Schlüssel für Ihren GitHub-Account zu erstellen und maven automatisch einen Git zu erstellen Tag, wenn Sie zu maven zentral drücken. Obwohl dies nützlich ist, ist es nicht notwendig, zu beginnen.

Ein anderes Beispiel, das versucht es direkt über maven zu veröffentlichen, gibt auch eine Art Fehler:

%Vor%

Gibt:

  

svn: E155007:   '/home/kshitiz/Documents/workspaces/ggts/log4j-weblayout/pom.xml' ist   keine Arbeitskopie

Wenn Sie etwas zum ersten Mal machen, hilft es oft, es zuerst manuell zu machen und dann zu automatisieren.

Was ist der grundlegendste, einfachste Weg, ein JAR in maven central zu platzieren?

    
Kshitiz Sharma 04.03.2015, 04:44
quelle

2 Antworten

10

Bei dieser Antwort wird davon ausgegangen, dass Sie ein auf Maven basierendes Projekt haben und sich in einem Paket-fähigen Zustand befinden. mvn package sollte ohne Fehler ausgeführt werden.

Bei der Veröffentlichung in maven central müssen Sie eine Gruppen-ID verwenden, die alle von Ihnen hochgeladenen Artefakte identifiziert. So etwas wie in.ksharma . Sie müssen außerdem Ihre Artefakte signieren, damit die Benutzer überprüfen können, ob sie tatsächlich von Ihnen kommen.

Also zuerst zu Sonatype jira und ein Konto erstellen und dann ein jira-Problem erstellen Ihre Gruppen-ID wurde genehmigt. Etwas wie dies .

Erstelle jetzt ein gpg-Schlüsselpaar zum Signieren deiner Artefakte:

%Vor%

Definieren Sie diesen Schlüssel in ~/.m2/settings.xml :

%Vor%

Ändern Sie die POM-Datei Ihres Projekts und fügen Sie -SNAPSHOT an Ihre Version an. So wird 0.0.1-BETA zu 0.0.1-BETA-SNAPSHOT . Sonst würde sich maven beschweren :

.
  

[FEHLER] Fehler beim Ausführen des Ziels   org.apache.maven.plugins: maven-release-plugin: 2.4.2: vorbereiten   (default-cli) im Projekt log4j-weblayout: Sie haben keinen SNAPSHOT   Projekt in der Liste der Reaktorprojekte. - & gt; [Hilfe 1]

Füge auch hinzu:

%Vor%

Dieser Eltern-Pom bietet Ihnen einige vorgefertigte Funktionen wie die Konfiguration von maven-gpg-plugin , um Ihre JAR zu signieren.

Führen Sie nun mvn release:clean release:prepare aus, um Ihre Artefakte und die gpg-Signatur zu generieren. Es wird dir etwas geben wie:

%Vor%

Packe diese nun in ein einziges JAR:

%Vor%

Gehen Sie zu Sonatype Nexus und melden Sie sich mit Ihren Zugangsdaten an. Gehe zum Staging-Upload und lade dein Bundle hoch.

Gehen Sie dann zum Abschnitt Inszenierungs-Repositories , wählen Sie Ihr Repository aus und klicken Sie auf Freigabe (Weitere Hilfe hier ). Kommentiere das Jira-Problem, dass du das Artefakt veröffentlicht hast und warte einige Zeit.

Nun können Ihre Benutzer das Artefakt aus dem zentralen Repository suchen und verwenden:

    
Kshitiz Sharma 04.03.2015, 04:44
quelle
6

1) Erstellen Sie Ihr Jira-Konto: Anmelde-Sonatyp

2) Erstellen Sie ein neues Projektticket (um Ihren Arbeitsbereich zu beanspruchen): Neues Projektticket erstellen

3) Eine PGP-Signatur generieren

%Vor%

4) Verteilen Sie Ihren öffentlichen Schlüssel

%Vor%

Verteilen Sie Ihren Schlüssel an mehrere Server, um den Synchronisierungsprozess zu beschleunigen (pgp.mit.edu, keyserver.ubuntu.com ...)

5) Aktualisieren Sie Ihre ~ .m2 / settings.xml

%Vor%

6) Aktualisieren Sie Ihr Projekt pom.xml

%Vor%

7) Run Maven

Maven wird Sie nach Ihrer Passphrase fragen

%Vor%

8) Kommentiere dein Jira-Ticket

Dies wird die Synchronisation mit central für Ihre Gruppen-ID auslösen.

  

Ich habe meine erste Veröffentlichung promotet. Danke.

Ressourcen:

OSSRH-Leitfaden

Bereitstellen mit Maven

PGP Signaturen

    
Benoit Vanalderweireldt 21.03.2017 02:56
quelle

Tags und Links