commons cli java command-line-interface apache-commons

java - commons cli required option



DefaultParser en Apache Commons CLI (4)

¿Qué versión de CLI estás usando? DefaultParser no se agregó hasta la instantánea 1.3.

http://commons.apache.org/proper/commons-cli/apidocs/org/apache/commons/cli/DefaultParser.html

Quería probar la CLI de Apache Commons, y pensé que un buen lugar para comenzar sería la sección de ''uso'' en su página web.

http://commons.apache.org/proper/commons-cli/usage.html

Ahora, el ejemplo sugiere crear un DefaultParser , sin embargo, el sonido más cercano que pude encontrar es BasicParser . ¿Es esto lo que se debe usar? ¿Me falta algo?


He encontrado el mismo problema al seguir la http://commons.apache.org/proper/commons-cli/usage.html con commons-cli 1.2 y encontré los siguientes analizadores disponibles:

  • org.apache.commons.cli.BasicParser
  • org.apache.commons.cli.GnuParser
  • org.apache.commons.cli.PosixParser

Todos extienden el org.apache.commons.cli.Parser y solo implementan el método de flatten . Puede consultar el javadoc de Parser (y los analizadores de implementación) para obtener más información.


esta clase DefaultParser es de Apache CLI 1.3, por lo que para usar esto debes actualizar tu ruta de clases con jar varsion 1.3


GnuParser() lugar de DefaultParser() y funciona bien.

CommandLineParser parser = new GnuParser();

Actualización: en la versión 1.3.1 de CLI, GnuParser() ahora está en desuso. Así que simplemente agregué

import org.apache.commons.cli.DefaultParser;

y ahora uso CommandLineParser parser = new DefaultParser();

¡Y todo está bien!