Zum ersten Mal habe ich ein halbes Jahr als Ingenieur meine eigene Bibliothek im Maven Central Repository registriert und veröffentlicht. Es gab einen Ort, an dem ich oft verstopft war, also werde ich diese Flugbahn verlassen.
Ich hoffe, es hilft Anfängern wie mir bei der Veröffentlichung der Bibliothek. .. ..
Ich habe hauptsächlich auf die folgenden Links verwiesen.
Zunächst sprach ich darüber, warum ich, der wenig Geschichte hat, plötzlich versuchte, die Bibliothek zu veröffentlichen. Aus geschäftlichen Gründen musste ich die Bibliothek im Maven Central Repository hochladen oder aktualisieren. Mir fehlen jedoch Kenntnisse und Erfahrungen "Maven Central hat verschiedene Bibliotheken und ich möchte es mit Gradle usw. verwenden. Es ist ein Ort, an dem Sie die Bibliothek ziehen können. Ist es einfach, die Bibliothek dort abzulegen? "" Es war eine solche Situation. .. ..
Es ist zu gefährlich, in einer solchen Situation plötzlich mit der Arbeit herumzuspielen (Schweiß) Deshalb habe ich beschlossen, es selbst zu versuchen.
Also dieser Artikel ist
――Maven Central ist ein Ort mit vielen Bibliotheken, nicht wahr?
Ich werde es schreiben, damit ich es verstehen kann, wenn ich es im Voraus weiß.
Bitte lassen Sie mich wissen, wenn es Fehler oder Unterschiede gibt.
Erstellen Sie zunächst die Bibliothek, die Sie veröffentlichen möchten, und veröffentlichen Sie sie auf github.
Anfänglich "Es muss erstaunlich sein, weil es von Menschen auf der ganzen Welt verwendet werden kann." Ich dachte, aber es scheint in Ordnung zu sein, jede Bibliothek separat zu veröffentlichen. (Natürlich sind böswillige Dinge nicht gut)
Die von mir veröffentlichten sind wie folgt. https://github.com/yutwoking/randomJapanLocationer Es ist einfach und gibt zufällig die 47 Präfekturnamen und Präfekturnummern zurück. ~~ Wer wird es benutzen! !! !! !! !! ~~
Dies bedeutet, dass auch so etwas Einfaches im Maven Central Repository veröffentlicht werden kann. Lol
Abgesehen davon habe ich noch nie einen Webserver selbst gestartet und eine Webanwendung veröffentlicht. Daher möchte ich diese veröffentlichte Bibliothek verwenden, um eine einfache Webanwendung zu einem späteren Zeitpunkt freizugeben.
Um die Bibliothek im Maven Central Repository zu veröffentlichen, müssen Sie sich bei Sonatype JIRA bewerben. Registrieren Sie daher zuerst ein Konto. Sobald die Anwendung erfolgreich ist, kann sie für den Sonatyp OSSRH bereitgestellt und im Maven Central Repository veröffentlicht werden. Es ist nicht schwer zu registrieren, füllen Sie einfach die Elemente aus. https://issues.sonatype.org/secure/Signup!default.jspa Sie können in den Einstellungen auch Japanisch auswählen. Ich gehe hier schnell.
Beantragen Sie als Nächstes ein Projekt zur Veröffentlichung der Bibliothek. Klicken Sie oben auf der Sonatyp-Seite auf Erstellen, um das Antragsformular aufzurufen.
Füllen Sie jeden Punkt wie folgt aus. Da es ein Ausländer ist, der urteilen wird, werde ich es auf Englisch schreiben.
Füllen Sie aus und klicken Sie auf Erstellen, um eine Projektseite zu erstellen und mit der Überprüfung fortzufahren.
Wenn nach einer Weile kein Problem vorliegt, wird die Anwendung bestanden und Sie sollten mit dem nächsten Schritt fortfahren. Die folgenden Kommentare kommen jedoch auf der Projektseite an.
Die Bewerbung wird nicht bestanden. .. .. Der Grund ist, dass ** GroupId nicht geeignet ist **.
Wenn Sie sich bewerben, müssen Sie es nicht tragen, weil es ein Namespace ist, oder? Ich hatte nur darüber nachgedacht, also schrieb ich "com.yutwoking" in das Lehrbuch und bewarb mich dafür. Es war hilfreich zu wissen, wie man mit den Kommentaren umgeht. ~~ Bot gibt möglicherweise nur einen festen Satz zurück ~~ Vielen Dank für die verantwortliche Person \ (^ o ^) /
Wenn auf Github veröffentlicht, io.github. {Benutzername} oder com.github. {Benutzername} Es scheint, dass Sie die GroupId verwenden sollten.
Am oberen Rand des Projektbildschirms befindet sich eine Schaltfläche zum Bearbeiten. Korrigieren Sie daher die GroupId dort. Senden Sie dann einen Kommentar, um den Fix der verantwortlichen Person zu melden. (Seien Sie vorsichtig, da die verantwortliche Person anscheinend nur dann über die Korrektur informiert wird, wenn Sie einen Kommentar abgeben.) Und warte eine Weile. Einige Stunden später wird ein Kommentar von der verantwortlichen Person kommen. Anscheinend muss ich beweisen, dass es wirklich mein Github-Account ist. Erstellen Sie wie gesagt ein Repository mit dem Namen OSSRH-51643 und geben Sie Kommentare zurück. Ich werde eine Weile warten. Ich habe die folgenden Kommentare erhalten und die Bewerbung wurde erfolgreich abgeschlossen! Am Ende heißt es, dass Sie nach der ersten Veröffentlichung einen Kommentar abgeben sollten.
Wenn Sie Maven normal verwenden, sollten Sie pom.xml geschrieben haben. Normalerweise benutze ich jedoch Gradle, daher hatte ich auch hier Schwierigkeiten.
Derzeit können Sie sich anscheinend auch mit gradle registrieren. https://tagomoris.hatenablog.com/entry/2016/02/16/114226
Da es jedoch in Maven Central veröffentlicht wird, möchte ich es mit Maven ausprobieren. Schreiben Sie also pom.xml.
Klicken Sie hier für die pom.xml, die ich geschrieben habe https://github.com/yutwoking/randomJapanLocationer/blob/master/pom.xml
Klicken Sie hier für die offizielle pom.xml https://github.com/simpligility/ossrh-demo/blob/master/pom.xml
Fehler in dieser pom.xml führen beim Freigeben zu einem Fehler. Wenn Sie die Formel mit dem vergleichen, was ich geschrieben habe, ist es einfacher zu verstehen, wo sie bearbeitet werden muss. Ich bin hier oft gestolpert (weinend) Ich werde den Stolperpunkt in den Release-Artikel schreiben.
Es scheint, dass eine GPG-Schlüsselsignatur erforderlich ist, um die Bibliothek zu veröffentlichen. Da ich ein Mac bin, installieren Sie zuerst die folgende Software. https://gpgtools.org/
Öffnen Sie als Nächstes ein Terminal und führen Sie den folgenden Befehl aus. (Wenn es nicht ausgeführt werden kann, starten Sie das Terminal neu oder ändern Sie gpg2 → gpg und versuchen Sie es.)
Generieren Sie zunächst den Schlüssel. Fahren Sie nach Eingabe des Befehls gemäß den Anweisungen OK fort
$ gpg2 --gen-key
Überprüfen Sie, ob der Schlüssel mit dem folgenden Befehl generiert werden kann
$ gpg2 --list-keys
/Users/Ehara/.gnupg/pubring.kbx
-------------------------------
pub rsa2048 2019-09-18 [SC] [Haltbarkeitsdatum: 2021-09-17]
BDCD77306BCE8473BBFC69521697094FBD6EAK76
uid [ultimativ] Yuto Ehara <****@gmail.com>
sub rsa2048 2019-09-18 [E] [Haltbarkeitsdatum: 2021-09-17]
Wenn der Schlüssel erstellt wurde, senden Sie den öffentlichen Schlüssel mit dem folgenden Befehl an den Server. Geben Sie für den Wert von --send-keys den Wert des öffentlichen Schlüssels ein, der in ↑ bestätigt wurde.
$ gpg2 --keyserver hkp://pool.sks-keyservers.net --send-keys BDCD77306BCE8473BBFC69521697094FBD6EAK76
Eine Datei mit dem Namen settings.xml muss sich lokal befinden, damit sie für Sonatype OSSRH bereitgestellt werden kann. Es scheint, dass das zu lesende Verzeichnis für jeden Benutzer unterschiedlich ist. Die Literatur wird häufig gelesen, indem sie in ~ / .m2 / settings.xml abgelegt wird. Ich habe es auch hier erstellt und es hat funktioniert.
Der Inhalt von settings.xml lautet wie folgt.
settings.xml
<settings>
<servers>
<server>
<id>ossrh</id>
<username>YOUR_JIRA_USERNAME</username>
<password>YOUR_JIRA_PASSWORD</password>
</server>
</servers>
<profiles>
<profile>
<id>ossrh</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<gpg.executable>gpg2</gpg.executable>
<gpg.passphrase>GPG_KEY_PASSPHRASE</gpg.passphrase>
</properties>
</profile>
</profiles>
</settings>
YOUR_JIRA_USERNAME und YOUR_JIRA_PASSWORD gehören Ihnen, als Sie Ihr JIRA-Konto erstellt haben. GPG_KEY_PASSPHRASE ist diejenige, die Sie beim Erstellen des Schlüssels festgelegt haben. Jetzt wird die Datei aufgerufen, wenn Sie maven starten.
Führen Sie die Bereitstellung mit dem folgenden Befehl aus.
$ mvn clean deploy -DperformRelease=true
Wenn es kein Problem gibt, sollte BUILD SUCCESS stehen. Wenn es nicht angezeigt wird, überprüfen Sie die Fehlermeldung und korrigieren Sie sie.
In meinem Fall habe ich aufgrund des folgenden Fehlers einen Fehler erhalten. Bitte beziehen Sie sich darauf, wenn Sie einen Fehler erhalten.
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>12</source>
<target>12</target>
<encoding>UTF-8</encoding>
</configuration>
</plugin>
Sobald die Bereitstellung abgeschlossen ist, ist es Zeit, sie freizugeben.
Melden Sie sich zunächst beim Sonatyp OSSRH an. Der Benutzername und der Pass bei der Anmeldung gelten für das JIRA-Konto. https://oss.sonatype.org/
Klicken Sie nach dem Anmelden auf der linken Seite des Bildschirms auf Build Promotion> Staging-Repositorys, um eine Liste der Staging-Repositorys anzuzeigen. Wenn die Bereitstellung funktioniert, sollten Sie Ihre hier haben. Wählen Sie Ihre aus und schließen Sie. Wenn Sie es schließen, werden verschiedene Überprüfungen ausgeführt. Warten Sie also eine Weile. Wenn das Schließen funktioniert, müssen Sie nur die Freigabetaste drücken. Wenn das Schließen fehlschlägt, löschen Sie das Repository mit dem Fehler, korrigieren Sie den Fehler und versuchen Sie es erneut aus der Bereitstellung.
Ich war mit Fehlern übersät, daher hier die Fehler, die ich erlebt und behoben habe.
Wenn Sie den öffentlichen Schlüssel auf dem Server registrieren und dies nicht lange dauert, tritt aufgrund der Synchronisierung ein Fehler auf. Nachdem Sie einige Stunden gewartet und es erneut versucht hatten, wurde der Fehler behoben.
Referenz https://codeday.me/jp/qa/20190129/197488.html
Dieser Fehler wird durch ein fehlendes Tag in pom.xml verursacht. Stellen Sie es erneut bereit, einschließlich der folgenden Tags (und aller untergeordneten Tags für diese Tags):
Beachten Sie außerdem, dass ein Fehler auftritt, wenn das Name-Tag und das Artefakt-ID-Tag nicht identisch sind.
Fügen Sie das entsprechende Plugin in pom.xml ein. Beispiel) Bei einem Javadoc-Validierungsfehler fügen Sie das Maven-Javadoc-Plugin ein.
Referenz https://web-dev.hatenablog.com/entry/maven/central/nexus-close-error
Alles was Sie tun müssen, ist die Pressemitteilung \ (^ o ^) / Es wird einige Stunden dauern, bis es im Maven Central Repository angezeigt wird. Warten Sie also.
http://search.maven.org/ Wenn Sie nach gropId in suchen, sollten Sie Ihr veröffentlichtes Repository finden!
Zum ersten Mal waren verschiedene Verfahren mühsam und es dauerte lange, aber ab dem nächsten Mal scheint es möglich zu sein. Ich werde das nächste Mal die Release-Arbeit mit gradle versuchen.
Bitte lassen Sie mich wissen, wenn ein Fehler vorliegt m (_ _) m
Recommended Posts