Gabi und Sascha
Tags - Kategorien : Alle | Berlin | Bücher | Fotografie | Java | Linkhalde | Weichware | Verfassung

Über das Apache Commons Chaos habe ich mich schon einmal ausführlich ausgelassen. Vor ein paar Tagen schlug es wieder zu.

Ich habe an einer abstrakten Hadoop Tool Implementierung gearbeitet. Die Implementierung sollte dem Benutzer die Arbeit abnehmen Quell- und Zielverzeichnis eines Hadoop Jobs immer aufs neue aus der Kommendozeile heraus zu filtern. Hadoop bring von Haus aus eine SNAPSHOT Version des Apache commons-cli 2 Projektes mit. Da das Projekt ein eigenständiges Package (org.apache.commons.cli2 im Unterschied zu org.apache.commons.cli) verwendet, ahnte ich nichts Böses, als ich zum Testen commons-cli 1.1 einband. Was ich nicht ahnte: in commons-cli 2 wird auch das alte Package mit geliefert. Im Subversion trunk Zweig wurde die alte Package-Struktur entfernt.

Als es an das Testen meiner Funktionalität ging, musste ich mit erstaunen registrieren, dass der Test durch einen NoSuchMethodError abbrach. Der Grund: der commons-cli OptionBuilder wurde nach dem Release 1.1 um die Methode withArgPattern(String, int) erweitert. Genau diese Methode verwendet Hadoop Utility Klasse GenericOptionsParser. Sie dient dazu Property-ähnliche Kommandozeilenparameter zu parsen.

Scheinbar existiert im gesamten commons-cli Projekt kein Hinweis auf die Funktionalität. Auch Google findet nur drei Treffer, wenn danach gesucht wird.

Ich habe jetzt das CLI 2 SNAPSHOT Archive als Abhängigkeit in das Projekt eingebaut. Dabei habe ich den Namen angepasst.