Welche Java CLI-Bibliothek mit derzeit aktiver Community bietet mehr Funktionen?

8

Hauptziel dieser Frage ist die Erstellung einer Tabelle mit einfach zu verwendenden, weit verbreiteten (mehr oder weniger) Java CLI-Bibliotheken (und deren Funktionen). Wenn also jemand eine solche Bibliothek benötigt, könnte er auf dieser Seite eine auswählen, die die Tabelle nach den erforderlichen Funktionen filtert.

Einschränkungen

  1. Nur OpenSource-Bibliotheken.
  2. Das ist nicht das Ziel dieser Frage, um alle existierenden CLI-Bibliotheken abzudecken. Es ist einfacher, etwas Nützliches auszuwählen, wenn wir nicht "fast tot" Bibliotheken mit schwer zu findender Dokumentation hinzufügen. Wenn Sie sich bezüglich Ihrer CLI-Bibliothek nicht sicher sind, aber stolz auf ihre Funktionen sind und beschreiben könnten, warum sie besser ist als andere, dann fügen Sie Antwort / Kommentar mit Informationen hinzu. Wenn Antwort / Kommentar 10 Upvotes erhält, ist es in Ordnung, diese Bibliothek zur Tabelle hinzuzufügen.
  3. Gleiches gilt für das Hinzufügen von Features zur Tabelle. Wenn die Funktion nicht sehr nützlich ist und Sie sich nicht sicher sind, überprüfen Sie die Methode "10 upvotes".
Vadim Ponomarev 15.04.2012, 18:58
quelle

2 Antworten

13

Java CLI-Bibliotheken und Feature-Tabelle

Java-CLI-Bibliotheken und Funktionen -Tabelle.
Wenn Sie dies aktualisieren möchten Tabelle sollten Sie CSV-Daten am Ende dieser Antwort bearbeiten. Kopieren Sie Daten in eine Datei, importieren Sie sie in eine GoogleDocs-Tabelle. Teilen Sie die Tabelle für alle Benutzer schreibgeschützt und ersetzen Sie den obigen Link.

In der Tabelle verwendete Abkürzungen:

  • y (ja - gut)
  • p (teilweise - Durchschnitt)
  • n (nein - schlecht)
  • u (unbekannt - Sie können den korrekten Wert eingeben)

Beschreibung der Features in Tabelle

Funktionalitätsbezogen (lib A kann etwas tun, was lib B nicht kann)

  1. Unterstützt die Erstellung von Benutzungs- / Hilfstexten für alle Argumente / Unterargumente.
  2. Unterstützung für mindestens eine zusätzliche Ebene von Unterargumenten (wie "Befehle" in JCommander).
  3. Internationalisierung.

Projektstatus bezogen (Bibliothek und Dokumente werden noch aktualisiert oder seit mehreren Jahren nicht aktualisiert)

Kommentar: In allen Fällen unten von Maven angenommen Maven Central Repository und von Ivy - IvyRoundup Repository .

  1. Datum der letzten Veröffentlichung (in Maven / Ivy, falls verfügbar).
  2. Neueste Version verfügbar (in Maven / Ivy, falls verfügbar).
  3. Anzahl der verfügbaren Versionen in Maven / Ivy (nur Versionen zählen, keine Meilensteine ​​oder Snapshots).

Codierungsstil-bezogene Funktionen

  1. Verwendet Annotationen, um das Argumentformat bereitzustellen.

Liste der Bibliotheken mit Links (fügen Sie keine Links zur Tabelle hinzu)

Commons-CLI - Beispiele
JOpt Simple - Beispiele
args4j - Beispiel
JCommander - alle Beispiele auf der Hauptseite

Platzhalter für die Liste der wissentlich ignorierten Bibliotheken / Funktionen

CSV-Daten für die gemeinsame Bearbeitung von Tabellen. Es ist sinnvoll, den Link am Anfang dieser Antwort in derselben Version zu aktualisieren, in der Sie CSV-Daten aktualisieren. Aber es könnte auch später aktualisiert werden.

Datensätze in der Tabelle sortiert nach Google-Abfrage "Java CLI". Mehr zitierte Ergebnisse werden zuerst und niemand könnte sagen, dass ich voreingenommen war.

%Vor%     
Vadim Ponomarev 15.04.2012, 18:59
quelle
3

Ich ging normalerweise zu args4j für alle CLI-Anforderungen, aber in letzter Zeit benutze ich meistens JCommander was auf Ihrer Liste fehlt. Was ich niemals benutzen würde, ist Commons CLI, da es wie bei den meisten Commons Libraries wenig Aktivität gibt und bessere Lösungen zur Verfügung stehen.

JCommander ist auch hier auf github verfügbar, wobei das letzte Commit vor drei Tagen erfolgte.

Ihre Anforderungen an Unterargumente werden wahrscheinlich am besten mit JCommanders Befehlen gelöst, die im Zusammenhang mit dem GIT CLI auf seiner Webseite erklärt werden.

Die Verwendungserzeugung wird basierend auf den Beschreibungen in% code_% Annotation unterstützt.

Hier ist die CSV-Zeile für JCommander für Ihre Tabelle:

@Parameter

    
Johannes Wachter 15.04.2012 19:41
quelle

Tags und Links