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解析器[重复]的主要内容,如果未能解决你的问题,请参考以下文章