Ich habe kürzlich an einer Java-Klasse gearbeitet, die Permutationen pro Objektliste generiert. Auf jeden Fall möchte ich, dass diese Bibliothek der Öffentlichkeit angeboten wird, daher habe ich mehrere Fragen:
- Die meisten Bibliotheken, die ich sehe, haben diese komplizierte Paketbenennung, insbesondere
com
/org
. Gibt es dafür eine Konvention oder reicht einpermutations
Paket aus? - Gibt es ein bestimmtes Format, um diese zu veröffentlichen? Sollte ich separate WARs für Quellcode / Javadoc einfügen?
- Ich habe die Dateien in einem GitHub-Repository. Ich denke, ich kann die Dateien dort bereitstellen, aber wie bringe ich die Leute dazu, mein Repo zu finden?
java
open-source
libraries
Amir Rachum
quelle
quelle
amirrachum.util.permutations
könnte so etwas gut sein.Antworten:
Eine Standardmethode zum Veröffentlichen (abgesehen vom Quellcode auf GitHub) sind formelle JAR / WAR-Releases für Maven Central, mit denen viele Build-Tools (Maven, Gradle, Ant / Ivy) Bibliotheken als Abhängigkeit einbinden. Um dies zu tun, ist der beste Weg, den Nexus-Prozess zu durchlaufen .
Es wird auch als freundlich angesehen, dieselben JAR / WARs auf einem Code-Hosting-Repo wie Sourceforge oder GitHub zu hosten.
In Bezug auf Ihre Domain. Ich empfehle Ihnen, firstnamelastname.net/org/com zu kaufen und dieses als Namensschema zu verwenden (z. B. für mich ist es net.martijnverburg.foobar). Andernfalls ist die Verwendung der von @Daniel Moura vorgeschlagenen Github-Domain eine gute.
Um es zu veröffentlichen, bloggen Sie darüber, twittern Sie darüber, senden Sie es an Hacker-News, reddit, digg, slashdot, dzone, TSS, javaworld usw.
HTH!
quelle
Wenn Sie Ihren Code an GitHub gesendet haben, können Sie Ihre Bibliothek (jar) mit JitPack ganz einfach freigeben .
Ihre Benutzer müssen lediglich das Repository zu ihrem build.gradle hinzufügen:
und dann dein GitHub-Repository als Abhängigkeit:
JitPack fungiert ähnlich wie Maven Central als Maven-Repository. Das Schöne ist, dass Sie Ihre Bibliothek nicht hochladen müssen. Hinter den Kulissen überprüft JitPack den Code von GitHub und kompiliert ihn. Wenn Sie eine neue Version auf GitHub veröffentlichen, steht sie anderen zur Verfügung.
Es gibt auch eine Anleitung zum Vorbereiten eines Projekts und Beispiele für das Hinzufügen eines Quellenglases.
Es ist nicht erforderlich, einen Domainnamen zu haben, damit Ihre groupId zu com.github.Username wird. Sie können dies auch für die Paketbenennung verwenden.
quelle
Es gibt Empfehlungen von Oracle zur Benennung Ihrer Pakete . Der Grund für diese Namenskonvention besteht darin, Duplikate zu minimieren. Wenn jeder einfach kurze, einfache Namen verwendet, wird es wahrscheinlicher, dass ein Projekt zwei
permutation
Pakete enthält. Wenn ein Klassenname derselbe wäre, würde es zu Namenskonflikten kommen. Für den Entwickler kann es verwirrend werden, wenn es keine Namenskonflikte gibt, die die Auflösung der Klassen verhindern.Wenn Sie einen Domainnamen haben, würde ich vorschlagen, diesen zu verwenden. Wenn Sie auf einem Dienst wie GitHub oder Sourceforge hosten, ist es auch ausreichend, den Pfad zu Ihrem Projekt zu verwenden. Seien Sie unabhängig davon explizit, um Konflikte oder Verwirrung zu vermeiden.
Es gibt kein bestimmtes Format. Zumindest Quell- und Konventionsskript (Make, Ant, Maven). Es ist schön, JARs oder WARs vorkompiliert zu haben, aber nicht unbedingt erforderlich. Einige Projekte enthalten das Javadoc in der Bibliothek, andere produzieren möglicherweise zwei JARs (eines mit Javadoc und eines ohne). Es kann auch eine gute Idee sein, Ihr Javadoc einfach im Internet zu veröffentlichen, wenn Ihre Projekthosting-Lösung dies zulässt.
Werben Sie dafür. Zeigen Sie es zunächst einigen Freunden. Blog darüber. Teilen Sie einen Link im Internet. Finden Sie jemanden, der ein Problem hat, das er mit dieser Bibliothek lösen kann (stellen Sie jedoch sicher, dass Sie angeben, dass Sie die Bibliothek erstellt haben).
quelle