web-dev-qa-db-fra.com

DefaultParser dans Apache Commons CLI

Je voulais essayer la CLI Apache Commons, et je me suis dit qu'un bon point de départ serait la section "utilisation" sur sa page Web.

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

Maintenant, l'exemple suggère de créer un DefaultParser, mais le son le plus proche que j'ai pu trouver est BasicParser. Est-ce la chose à utiliser, est-ce que je manque quelque chose?

33
benroth

J'ai utilisé GnuParser() au lieu de DefaultParser() et cela fonctionne bien.

CommandLineParser parser = new GnuParser();

Mise à jour: dans la version 1.3.1 de CLI, GnuParser() est désormais obsolète. J'ai donc simplement ajouté

import org.Apache.commons.cli.DefaultParser;

et maintenant j'utilise CommandLineParser parser = new DefaultParser();

Et tout va bien!

44
user2187128

Quelle version de CLI utilisez-vous? DefaultParser n'a pas été ajouté avant l'instantané 1.3.

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

12
Brian Antonelli

J'ai rencontré le même problème en suivant même guide d'utilisation avec commons-cli 1.2 et j'ai trouvé les analyseurs disponibles suivants:

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

Ils étendent tous l'org.Apache.commons.cli.Parser et implémentent uniquement la méthode flatten. Vous pouvez vérifier javadoc de l'analyseur (et implémenter les analyseurs) pour plus d'informations.

9
joao cenoura

cette classe DefaultParser est de Apache CLI 1.3 donc pour l'utiliser, vous devez mettre à jour votre chemin de classe avec jar varsion 1.3

3
user2663609