JCommander звучит как очень простой и интересный подход к разбору аргументов командной строки с аннотациями (от создателя TestNG):
Вы аннотируете поля с описанием ваших опций:
import com.beust.jcommander.Parameter;
public class JCommanderTest {
@Parameter
public List<String> parameters = Lists.newArrayList();
@Parameter(names = { "-log", "-verbose" }, description = "Level of verbosity")
public Integer verbose = 1;
@Parameter(names = "-groups", description = "Comma-separated list of group names to be run")
public String groups;
@Parameter(names = "-debug", description = "Debug mode")
public boolean debug = false;
}
а затем просто просите JCommander разобрать:
JCommanderTest jct = new JCommanderTest();
String[] argv = { "-log", "2", "-groups", "unit", "a", "b", "c" };
new JCommander(jct, argv);
Assert.assertEquals(jct.verbose.intValue(), 2);
Этот ответ помогает? Как анализировать аргументы командной строки в Java?
Я вижу несколько перечисленных здесь интерпретаторов командной строки
На java-source.net вы можете найти как минимум 4 другие альтернативные библиотеки для Интерфейс командной строки Apache Commons.
getopt-1.0.11 - это простая легкая в использовании библиотека, которую я однажды использовал для анализа аргументов командной строки
Я использую и люблю
http://martiansoftware.com/jsap/
его открытый исходный код, простой. Не действует, думаю у автора другие утюги в огне.
Я лично использую args4J от kohsuke по адресу https://github.com/kohsuke/args4j