Eigene Java-Library promoten (Lib zur Barcode-Generierung)

inflamer

Bekanntes Mitglied
Hallo Forum,

ich habe eine Java-Bibliothek geschrieben, welche ein- und zweidimensionale Barcodes generiert, um sie etwa anschließend zu drucken oder als Raster- oder Vektorgrafik zu speichern.

Das Ergebnis seht ihr hier:

Dabei habe ich mich bemüht, das Download-Package gemäß "gängiger Konventionen" zu gestalten (z.B. ist selbstverständlich ein JavaDoc sowie eine "pom.xml" dabei), damit die Library ohne viel Fummelei direkt benutzt werden kann.

Es wäre super, wenn die Fories mal einen Blick in das innere der ZIP-Datei werfen und anschließend ein kurzes Feedback geben könnten, ob im Package evtl. etwas fehlt oder nicht optimal ist.

Zum anderen bin ich etwas enttäuscht über die recht geringe Anzahl von Besuchern über Google und Co., obwohl die o.g. URL dort eigentlich ganz gut rankt. Könnte es daran liegen, dass man als Entwickler normalerweise nicht bei Google nach Bibliotheken sucht, sondern direkt auf Github, Maven und Konsorten?

Ich würde die Seite gerne etwas promoten, habt ihr eine Idee wo/wie? Es sollte vielleicht nicht unbedingt GitHub sein, da das eigentliche Ziel darin besteht, Backlinks zur Library-Seite zu erhalten und damit auf indirektem Wege das Ranking der gesamten Website bei Suchmaschinen zu erhöhen. Die Library soll dabei als kostenloses Give-Away dienen.

Danke!
 

KonradN

Super-Moderator
Mitarbeiter
Erst einmal super, dass Du da sowas als Open Source Projekt aufgesetzt hast. Statt es aber nur als ZIP bereit zu stellen:

- Sourcen gehören in eine Sourcecode Verwaltung. Hier bieten sich also direkt GitHub, GitLab, ... an. Aber natürlich wäre auch eine selbst gehostete Lösung wie Gitea oder so ok. Aber ich möchte halt nicht erst ein ZIP herunter laden um es dann zu entpacken und so. Statt dessen würde ich da halt gerne direkt im Browser schauen ... Auch Änderungen möchte ich so nachvollziehen können ...

- Library - Hier wäre es super, wenn das Paket auch im Maven Repository zu finden wäre. Dann sind auch weitere Abhängigkeiten kein Thema mehr...

- Verwaltung von Abhängigkeiten - Es ist super, dass Du auch PDF oder so generieren kannst, aber braucht man das (fast) immer? Hier kann man ggf. aufteilen. Dann hast Du mehrere Projekte. Also sowas wie barcode-core, barcode-pdf, barcode-swing, barcode-fx, ... (so aus den Fingern gesaugt) ... barcode-pdf braucht eine pdf Abhängigkeit, swing braucht das desktop Modul vom JDK, FX braucht das JavaFX als Abhängigkeit ...
Wenn ich aber nur Bilder erzeugen will um die dann auf einer Webseite anzuzeigen oder so: Da brauche ich dann kein desktop Modul, kein JavaFX, keine PDF Library ....

Ansonsten habe ich es mir noch nicht wirklich im Detail angesehen .. das werde ich aber noch in den nächten Tagen versuchen. Also bitte entschuldigem wenn ich auf dem erstenBlick etwas übersehen habe.
 

inflamer

Bekanntes Mitglied
Ziemlich sicher. Bzw. Ich würde nie eine Library einsetzen, die ich einfach so als jar runterladen muss. Maven ist Pflicht. Zudem fehlen mir auf den ersten Blick Infos zur Lizenz.
Ok, das bestätigt schon mal meinen "Verdacht". Lizenzmodell (Apache 2.0) ist allerdings auf der Website (rechts oben) angegeben. Und die JAR-Datei ist halt nur optional, falls man den Source Code nicht selbst aus der ZIP-Datei kompilieren will.

EDIT: Ich meine aber mal von einigen recht populären Bibliotheken gelesen zu haben, die auf keinem der gängigen Repositories zu finden sind, sondern nur auf der Hersteller-Website. Damit funzt es dann ja anscheinend sehr wohl...

Erst einmal super, dass Du da sowas als Open Source Projekt aufgesetzt hast. Statt es aber nur als ZIP bereit zu stellen:

- Sourcen gehören in eine Sourcecode Verwaltung. Hier bieten sich also direkt GitHub, GitLab, ... an. Aber natürlich wäre auch eine selbst gehostete Lösung wie Gitea oder so ok. Aber ich möchte halt nicht erst ein ZIP herunter laden um es dann zu entpacken und so. Statt dessen würde ich da halt gerne direkt im Browser schauen ... Auch Änderungen möchte ich so nachvollziehen können ...

- Library - Hier wäre es super, wenn das Paket auch im Maven Repository zu finden wäre. Dann sind auch weitere Abhängigkeiten kein Thema mehr...

- Verwaltung von Abhängigkeiten - Es ist super, dass Du auch PDF oder so generieren kannst, aber braucht man das (fast) immer? Hier kann man ggf. aufteilen. Dann hast Du mehrere Projekte. Also sowas wie barcode-core, barcode-pdf, barcode-swing, barcode-fx, ... (so aus den Fingern gesaugt) ... barcode-pdf braucht eine pdf Abhängigkeit, swing braucht das desktop Modul vom JDK, FX braucht das JavaFX als Abhängigkeit ...
Wenn ich aber nur Bilder erzeugen will um die dann auf einer Webseite anzuzeigen oder so: Da brauche ich dann kein desktop Modul, kein JavaFX, keine PDF Library ....

Ansonsten habe ich es mir noch nicht wirklich im Detail angesehen .. das werde ich aber noch in den nächten Tagen versuchen. Also bitte entschuldigem wenn ich auf dem erstenBlick etwas übersehen habe.

Hallo Konrad.

Ja, GitHub, GitLab, Maven und Co. - aus Sicht des Entwicklers absolut praktische Dinge. In meinem Fall verfehlt das aber leider das von mir angestrebte Ziel, nämlich die Promotion der Website. Stelle ich die Library auf einem der genannten Reposirories zur Verfügung, würden sich die Leute das Teil direkt von dort holen, allerdings "an meiner Website vorbei". Für Entwickler bequem und legitim, für mich leider nicht ganz so optimal.

Bzgl. Aufteilung: Stimme dir zu: das könnte ich mir tatsächlich nochmal angucken. Auch wenn wir hier tatsächlich bloß von einer einzigen Abhängigkeit reden (OpenPDF).
 

KonradN

Super-Moderator
Mitarbeiter
In meinem Fall verfehlt das aber leider das von mir angestrebte Ziel, nämlich die Promotion der Website.
Hier wäre ich vorsichtig. Den Source woanders abzulegen bedeutet ja nicht, dass Du dort dann die Webseite hinterlegen wirst. In der README.md kann einfach nur der Hinweis auf die Webseite sein. Alle wichtigen Inhalte können dort sein.

Und wenn Entwickler die Library gut finden, dann ist das Risiko schlicht hoch, dass sie dies übernehmen. Es ist ja unter einer Open Source Lizenz. Also kann man Deinen Source nehmen und auf Github stellen. Und das kann man dann weiter ausbauen ... Das nur als kleiner Hinweis: klar, Du hast gewisse Interessen. Aber wenn Du Entwicklern nicht entgegen kommst, dann werden diese entweder andere Abhängigkeiten nutzen oder eben das, was fehlt, selbst bereit stellen.

Und das ist nicht einmal böse gemeint. Es ist nicht im Maven Repository? Für meine CI/CD Pipeline brauche ich es dort aber. Also was ist da mein einfachster Weg? Da kann es am Einfachsten sein, da einen Clone zu erstellen nur um es dann im Repository hoch zu laden. (Sowas in der Art mache ich jedoch nicht mit dem Maven Repository sondern ich baue ein lokales Repository, welches ich dann mit im Projekt einchecke ...)
 

inflamer

Bekanntes Mitglied
@thecain. Ist vlt. eine erwägenswerte Option. Danke!

@Konrad. Da denk ich natürlich dran - ist OpenSource, also k.p.

Absichern gegen sowas kann man sich (zumindest teilweise), indem man beispielsweise im Zuge des Build-Prozesses etwaige JavaDocs aus dem SourceCode entfernt.

Ok. Ich denke weiter drüber nach...
 

KonradN

Super-Moderator
Mitarbeiter
Absichern gegen sowas kann man sich (zumindest teilweise), indem man beispielsweise im Zuge des Build-Prozesses etwaige JavaDocs aus dem SourceCode entfernt.
Die sinnvolle Absicherung ist, es den Entwicklern so zu geben, dass sie damit so problemlos arbeiten können, dass sie dies nutzen wollen. Dass zusätzliche Aufwände einfach unnötig sind.

Generell sollte man Red Flags vermeiden. Wenn ich nicht direkt in den Source schauen kann und direkt die Change History sehen kann (Was wurde in dem letzten Update angepasst? Wie dringend ist es, dass ich da jetzt aktualisiere?), wenn der Source Code nicht direkt so verfügbar ist, dass ich ihn prüfen lassen kann (Es gibt genug Code Review Tools wie snyk, die das Projekt untersuchen und mir einen Report geben) und all sowas, dann nutze ich es nicht oder wenn ich es doch nutzen können will: Dann muss ich aktiv werden.

JavaDoc Kommentare zu entfernen sorgt dann nur dazu, dass der Code wieder eine grosse rote Fahne zeigt ... und vermutlich wird es nichts bringen, denn ich öffne das Projekt vermutlich einfach nur in eine IDE mit guter AI Unterstützung: Schreibe JavaDoc bei allen Klasse und allem Membern der Klassen. Und schon habe ich einen Code, der von der Qualität her vermutlich nicht schlecht kommentiert ist. Das ist zumindest meine Erfahrung ...

Das nur noch einmal, um meine Sichtweise klar zu stellen. Generell ist es Dein Projekt und Du kannst da machen, was Du willst und ich will Dir da nicht rein reden. Es sind alles nur Vorschläge, die eben aus meiner sehr individuellen Sichtweise kommen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
E Input/Output Eigene Datei mit java öffnen Allgemeine Java-Themen 9
J eigene Java Bibliothek Allgemeine Java-Themen 2
J Java - Eigene DLL importieren Allgemeine Java-Themen 25
M eigene Klasse durch Composition mit java.io.File erweitern Allgemeine Java-Themen 3
A Eigene Java Plugins entwickeln - wie optimal? Allgemeine Java-Themen 14
SuperSeppel13 Packete der Java Bibliothek ins eigene Prjekt integrieren Allgemeine Java-Themen 4
N Observer/Observable der JAVA-API od. eigene Implementierung Allgemeine Java-Themen 2
G eigene uhrzeit in einer java applikation führen Allgemeine Java-Themen 19
D Eigene Classes aus anderen .java-Dateien Allgemeine Java-Themen 2
MJannek eigene Annotation erstellen die einen Konstruktor erzeugt: Allgemeine Java-Themen 8
M Eigene Datenstruktur um eine Menge zu speichern Allgemeine Java-Themen 3
G Was brauche ich, um eine eigene "Search for updates"-Funktion einzubauen? Allgemeine Java-Themen 1
pizza_dox_9999 Wie füge ich eine "eigene" ScriptEngine dem ScriptEngineManager? Allgemeine Java-Themen 3
missy72 Klassen Eigene Klasse MessageWindow ähnlich der Alert Klasse Allgemeine Java-Themen 2
J Eigene Api erstellen und dann auch verwenden - Ordnerstruktur Allgemeine Java-Themen 1
RalleYTN Eigene ScriptEngine? Allgemeine Java-Themen 14
L Eigene Dependency Injections definieren? Allgemeine Java-Themen 4
K Eigene API erstellen? Allgemeine Java-Themen 13
T Best Practice Eigene GUI programmieren | MouseMotion Detection Allgemeine Java-Themen 3
M Eigene forEach()-Methode funktioniert nicht. Allgemeine Java-Themen 2
M Output einer anderen/externen .jar in eigene JTextArea Allgemeine Java-Themen 4
B Klassen Eigene Klasse als Array benutzen Allgemeine Java-Themen 3
D Eigene/r Collection/Container Allgemeine Java-Themen 3
F Eigene .jar mit anderer .jar öffnen Allgemeine Java-Themen 7
X Eigene Annotation - mit Bedingung für ganze Klassen oder Methoden Allgemeine Java-Themen 2
H Best Practice Ideensuche: Flexibel hinzufügbare eigene Parser Allgemeine Java-Themen 6
T OOP Die eigene Bruchklasse Allgemeine Java-Themen 11
P Eigene Exception Klasse Allgemeine Java-Themen 7
B JTable eigene Daten Add Methode Allgemeine Java-Themen 2
S OOP Problembereichsmodell: Bestehende Framework Klasse in eigene Klassenstruktur einbinden Allgemeine Java-Themen 9
E Eigene Exception Klasse erstellen Allgemeine Java-Themen 3
S Methoden Eigene Klasse als Rückgabewert Allgemeine Java-Themen 6
S eigene regEx schreiben Allgemeine Java-Themen 4
O Collections Eigene Methodenzusicherung bei Collections als Parameter Allgemeine Java-Themen 2
M Eigene Klasse verschlüsselt in Datei speichern Allgemeine Java-Themen 13
N Geodaten für eigene Routenplanung Allgemeine Java-Themen 5
M Problem beim schreiben einer eigene generische Klasse Hashtable Allgemeine Java-Themen 11
C Eigene Sounddateien schreiben Allgemeine Java-Themen 12
M Problem beim schreiben einer eigene generische Klasse LinkedList Allgemeine Java-Themen 34
M Best Practices Exception Handling für eigene library Allgemeine Java-Themen 8
M Eigene Factory Klasse Allgemeine Java-Themen 21
S eigene Update Funktion Allgemeine Java-Themen 5
H2SO3- getMethods(): eigene methoden rausfinden Allgemeine Java-Themen 4
C eine eigene Javadoc erstelen Allgemeine Java-Themen 3
Kr0e Eigene RMI Implementierung Allgemeine Java-Themen 3
S Eigene Bibliothek Allgemeine Java-Themen 2
M Eigene Dateiendung? Allgemeine Java-Themen 3
M Plugins für eigene Programme Allgemeine Java-Themen 3
S Eigene Events feuern Allgemeine Java-Themen 3
S Instanz in einer Klasse erstellen, und dem Konstruktor die eigene Klasse mitgeben Allgemeine Java-Themen 4
R Eigene ArrayList vom Typ Short, Integer oder Double Allgemeine Java-Themen 4
U Eigene "Dining Philosopher" Interpretation weckt Philos nie auf Allgemeine Java-Themen 2
0x7F800000 Wovon eigene Events für spezialisierte JComponents ableiten? Allgemeine Java-Themen 2
P Eigene Klasse kopieren die auf sich selbst refferenziert Allgemeine Java-Themen 8
G Umgebungsvariabeln auslesen (Path, Temp, oder eigene) Allgemeine Java-Themen 2
T Eigene PID ermitteln! Allgemeine Java-Themen 3
D Icon für eigene Dateiendung Allgemeine Java-Themen 7
G Eigene "Speicherverwaltung" Allgemeine Java-Themen 5
H eigene Annotations Allgemeine Java-Themen 2
S eigene Klasse die JButton extended - als Liste! Allgemeine Java-Themen 6
D Performance: ArrayList vs. Array vs. "Eigene Liste&quot Allgemeine Java-Themen 8
A Eigene Wrapper-Klassen Allgemeine Java-Themen 2
J Kann eigene Klasse nicht ermitteln Allgemeine Java-Themen 4
M Wann verwendet man PropertyChangedEvents, wann eigene? Allgemeine Java-Themen 3
J OpenOffice.org Events in eigene Anwendung umleiten Allgemeine Java-Themen 4
U eigene Datenstruktur ArrayList<String> nach Object [][ Allgemeine Java-Themen 2
B eigene Klassen verkaufen Allgemeine Java-Themen 2
W eigene event-Klasse, event posten Allgemeine Java-Themen 2
reibi Eigene exception mit feld "serialVersionUID" Allgemeine Java-Themen 3
M Eigene .jar in anderes Programm importieren[eclipse] Allgemeine Java-Themen 6
T Eigene Libary Allgemeine Java-Themen 6
E Eigene Exception Allgemeine Java-Themen 11
Q Bibliotheken mit ins eigene Jar aufnehmen Allgemeine Java-Themen 4
M Eigene Exception Klasse Allgemeine Java-Themen 4
M eigene Objekte vergleichen Allgemeine Java-Themen 6
K log4j - eigene Info-Ausgaben Allgemeine Java-Themen 5
G Performance JDOM - DOM - eigene HashMap (SAX) Allgemeine Java-Themen 2
G JWindow verschieben bei mousedragged auf eigene titelleiste Allgemeine Java-Themen 3
N Methoden in eigene Dateien auslagern? Allgemeine Java-Themen 10
B Eigene Datentypen Allgemeine Java-Themen 5
G Brauche hilfe bei JMF: Wie eigene Streaming Data Source! Allgemeine Java-Themen 4
G eigene klassen die ein jar verwenden als neues jar erstellen Allgemeine Java-Themen 4
O Externe Jars in eigene JAr packen in Eclipse Allgemeine Java-Themen 5
R Updateprozedur ü. Internet fürs eigene Programm? Allgemeine Java-Themen 24
R Eigene Konfigurationsdatei für größere Projekte. Allgemeine Java-Themen 4
J Eigene Callback Methode? Allgemeine Java-Themen 3
S eigene evetns erstellen Allgemeine Java-Themen 5
K eigene GUI Komponente wird nicht angezeigt Allgemeine Java-Themen 3
G Eigene PrintService Implementierung. Allgemeine Java-Themen 5
C Die Konsole ins eigene Programm einbauen Allgemeine Java-Themen 5
kodela Von C++ nach Java Allgemeine Java-Themen 2
Fey Java auf USB Stick Allgemeine Java-Themen 5
theJavaMaschine Mitstreiter gesucht: Gemeinsam Java und Android Development lernen! Allgemeine Java-Themen 5
PARAS Karriereberatung benötigt: Wie kann ich ein Java Full Stack Entwickler werden? Allgemeine Java-Themen 7
P Java Access Bridge Allgemeine Java-Themen 5
W ICEpdf PDF-Dateien werden mit Java 21 nicht nicht mehr vollständig dargestellt Allgemeine Java-Themen 3
MiMa Grundsätzliche Frage zur Verwendung von Java Versionen?? Allgemeine Java-Themen 3
OnDemand Java Deployment Vaadin Allgemeine Java-Themen 3
D Hat Java eine Library um JavaScript auszuwerten? Allgemeine Java-Themen 2
Zrebna Wieso sind eigentlich JUnit-Tests in src/test/java platziert - nur Konvention? Allgemeine Java-Themen 7

Ähnliche Java Themen


Oben