Java的最佳CLI解析器[重复]

Posted

技术标签:

【中文标题】Java的最佳CLI解析器[重复]【英文标题】:The best CLI parser for Java [duplicate] 【发布时间】:2010-12-04 05:22:59 【问题描述】:

哪种 CLI 解析器比其他 CLI 解析器更易于使用且更具可扩展性?

【问题讨论】:

【参考方案1】:

这里有一些最受欢迎的。它们的功能都非常完整,并且使用了前两个我可以推荐它们。

Commons CLIhttp://commons.apache.org/cli/

Java Gemshttp://code.google.com/p/javagems/

picocli(带有彩色使用帮助和自动完成功能)http://picocli.info/

JArgshttp://jargs.sourceforge.net/

GetOpthttp://www.urbanophile.com/arenn/hacking/download.html

编辑:为了完整起见,这里有一些我遇到的其他人

JOpt 简单http://jopt-simple.sourceforge.net/

Args4Jhttps://args4j.dev.java.net/

ArgParserhttp://people.cs.ubc.ca/~lloyd/java/argparser.html

自然 CLIhttp://naturalcli.sourceforge.net/

TE-代码http://te-code.sourceforge.net/

JSAPhttp://www.martiansoftware.com/jsap/

CLAJRhttp://clajr.sourceforge.net/

CmdLnhttp://ostermiller.org/utils/CmdLn.html

JewelClihttp://jewelcli.sourceforge.net/

JCommandohttp://jcommando.sourceforge.net/

Parse-cmdhttp://code.google.com/p/parse-cmd/

【讨论】:

谢谢。现在我将使用 Commons CLI,因为我喜欢 Appache 的产品 不错的选择。您始终可以依靠 Apache Commons 来实现坚如磐石。 最好的实现是 Jargs github.com/purcell/jargs 直截了当、合乎逻辑、不加载 1 个文件和 600 个 SLOC。也很容易获得剩余的参数: String[] otherArgs = parser.getRemainingArgs(); 您还可以在mvnrepository.com中找到带有“命令行解析器”标签的库【参考方案2】:

JLine 是一个用于在 Java 中构建类似 shell 的应用程序的库。

Groovy 将其用于其 shell 实现:groovysh。 OpenTelegard/2 (JRuby) 也使用 JLine。

自 2002 年以来,该项目托管在 SourceForge.net 上,最后一次发布是 2011 年 4 月的 JLine-1.0。

但在 2009 年,该项目已启动 migration to GitHub.com,并自 2009 年 11 月(2.0 版)起拥有 released the series 2.x。撰写此答案时的最新版本 2.x 是 2016 年 5 月的 2.14.2。

2016 年 10 月,一个新的series 3.x has been released。

【讨论】:

【参考方案3】:

我不认为可扩展性是这里的一个因素。您想要功能完整且易于使用的东西。 我主要使用jargs,但我通常不喜欢它的 API(出于习惯使用它)。

你也可以试试java getoptimpl,我个人没用过。

【讨论】:

我记得当我们使用 JArgs 时,我们编写了自己的接口来包装它的 API。它工作得很好,但不像以前那么容易使用。

以上是关于Java的最佳CLI解析器[重复]的主要内容,如果未能解决你的问题,请参考以下文章

用于操作/编辑现有 xml 文档的最佳 java Xml 解析器

特定的 Java HTML 解析器 [重复]

java中的html解析器[重复]

开源 Java 文本解析器

Android:解析 XML 数据的最佳解析器 [关闭]

csharp 基于简单反射的Cli Cmdline解析器