Para escribir aplicaciones de línea de comandos en Java, ¿cuál es la mejor biblioteca para analizar y administrar argumentos y parámetros?
Nota: esta pregunta es una versión actualizada de esta pregunta cerrada en Stack Overflow .
picocli es diferente de otras bibliotecas Java CLI:
Ejemplo de mensaje de ayuda de uso:
Vista rápida:
<command> -xvfInputFile
tan bien como <command> -x -v -f InputFile
)"1..*"
,"3..5"
La ayuda de uso es la cara de su aplicación, ¡así que sea creativo y diviértase!
Actualizar:
Picocli también se mantiene activamente. Desde la publicación original, se agregaron muchas características nuevas, por ejemplo:
@Option
o @Parameters
(picocli crea una implementación sintética que devuelve las opciones coincidentes)@Option
o @Parameters
(para que pueda validar opciones y parámetros posicionales)@Command
métodos para código extra compactoDescargo de responsabilidad: soy el autor.
Recomiendo JOpt Simple . 'Intenta respetar las sintaxis de opciones de la línea de comandos de POSIX getopt() y GNU getopt_long()'. Tiene tracción comunitaria y, en particular, es la biblioteca de análisis de línea de comandos de elección para el propio OpenJDK.
A modo de comparación, aquí hay una lista relativamente actualizada (a partir de enero de 2015) de bibliotecas relacionadas que tienen el mismo propósito.
Mi elección va a JCommander .
A partir de octubre de 2016, tenía que comenzar un nuevo proyecto y finalmente decidió hacer argumentos de manera inteligente. Acabo de comparar Jopt-simple, JCommander, args4j.
Motivo de elección: solo JCommander y args4j tienen anotaciones, solo JOpt-simple y JCommander tienen un gran tutorial.
usuario416
Ivar
usuario416