7 Stimmen

Verschieben eines Projekts nach Maven Central

Ich verwalte viele Maven-Projekte. Die meisten von ihnen werden in unserem internen Maven-Repository bereitgestellt. Jetzt würde ich gerne ein Projekt in Maven Central veröffentlichen. Bis jetzt hatte ich ein übergeordnetes POM, das das distributionManagement unseres internen Repositorys spezifizierte. Es macht keinen Sinn, diese Informationen an Maven Central zu verteilen.

Wie sollte ich das Verteilungsmanagement für meine internen Projekte festlegen? Sollte ich eine separate übergeordnete pom group-internal für interne Projekte haben?

Sonatype erwähnt eine Möglichkeit, direkt auf ihre Repositories zu deployen, aber sie empfehlen, ihr eigenes parent pom (oss-parent) zu verwenden. Wenn ich mir Projekte ansehe, die mvnrepository.org verwenden, kann ich keine Projekte mit oss-parent als Elternteil finden. Stellen die meisten Projekte ihre Artefakte manuell bei Sonatype bereit? Wo und wie stellen sie sie zuerst bereit?

So viele Fragen! Ich bin erstaunt, wie kompliziert das alles ist...

Update: Es hat sich herausgestellt, dass einige der Projekte, die ich identifiziert habe tun oss-parent verwenden. Es ist nur versteckt, da es das Elternteil eines Elternteils ist.

9voto

schmmd Punkte 16732

Sobald Sie alles eingerichtet haben, können Sie die szenische Freisetzungen y SNAPSHOTs direkt in das OSS-Repository von Sonatype. Stages-Releases können dann veröffentlicht über die Nexus UI von Sonatype .

Um einen Repository-Ordner für Ihre Anwendung zu erstellen, in dem Sie sie bereitstellen können, müssen Sie Eröffnen Sie ein Ticket bei Sonatype auf deren JIRA zusammen mit einem Verweis auf das Open-Source-Projekt, das Sie einsetzen werden. Der Prozess ist sehr einfach und Sonatype hilft Ihnen, wenn Sie nicht alle erforderlichen Informationen bereitstellen.

Auch wenn es auf den ersten Blick nicht so aussieht, als ob viele Projekte oss-parent als Elternteil haben, so ist dies doch oft der Fall, wenn man im POM-Baum nach oben navigiert. Zum Beispiel hat Google Guava den Elternteil guava-parent , die die übergeordnete oss-parent . Sobald Ihr Projekt oss-parent und das Repository konfiguriert ist, können Sie SNAPSHOTs und Releases einfach mit mvn deploy o mvn release:prepare release:perform .

Es scheint überwältigend zu sein, aber es ist leicht zu verstehen, wenn man die Schritte einfach zum ersten Mal durchgeht.

6voto

khmarbaise Punkte 86559

Als erstes empfehle ich die Lektüre des folgenden Textes: https://docs.sonatype.org/display/Repository/Sonatype+OSS+Maven+Repository+Nutzung+Leitfaden Der OSS-Elternteil macht unter besonderen Umständen auch unter anderen keinen Sinn. Das hängt davon ab, welche Art von Projekt Sie verbreiten möchten.

UPDATE : Dieser Link ist jetzt tot. Siehe aquí für Hilfe bei der Bereitstellung auf Sonatype.

UPDATE : Für Maven Central überprüfen Sie dies: http://central.sonatype.org/

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X