Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有好的Java库可以帮助构建命令行应用程序?_Java_Shell_Command Line_Interactive - Fatal编程技术网

有没有好的Java库可以帮助构建命令行应用程序?

有没有好的Java库可以帮助构建命令行应用程序?,java,shell,command-line,interactive,Java,Shell,Command Line,Interactive,我需要用Java编写一个简单的命令行应用程序。最好使用一个库来处理解析命令,并处理诸如标志和可选/强制性参数之类的事情 更新 内置制表符补全功能的东西会特别好。看一看。我已经使用了用于命令行参数解析的。它相当容易使用,而且有很多优点 您选择哪个库可能取决于您喜欢哪种样式的选项(“--gnu样式”或“-javac样式”)。看起来很有用 JLine是一个Java库,用于处理控制台输入。它在功能上类似于BSD editline和GNU readline。熟悉现代shell(如bash和tcsh)的re

我需要用Java编写一个简单的命令行应用程序。最好使用一个库来处理解析命令,并处理诸如标志和可选/强制性参数之类的事情

更新

内置制表符补全功能的东西会特别好。

看一看。

我已经使用了用于命令行参数解析的。它相当容易使用,而且有很多优点

您选择哪个库可能取决于您喜欢哪种样式的选项(“--gnu样式”或“-javac样式”)。

看起来很有用

JLine是一个Java库,用于处理控制台输入。它在功能上类似于BSD editline和GNU readline。熟悉现代shell(如bash和tcsh)的readline/editline功能的人会发现JLine的大多数命令编辑功能都很熟悉


它确实在its中列出了制表符完成。

在我们公司,我们使用的是一个带注释的Java接口定义,以声明式的方式描述命令行接口

我建议使用它,它轻巧且易于使用。

有一个用于命令行解析的方法。对于命令编辑和制表符完成,有JLine(正如mmyers已经推荐的那样)。

我已经广泛使用了JLine。它处理各种各样的选项类型,有一个设计良好的and库(包括编写自定义解析器的选项),并在JavaDocs和

我认为您对制表符完成的渴望将由shell而不是命令行解析库来解决。

我曾经使用过。我发现它是稳定的,并且有很好的记录


我不确定我是否理解您所说的“内置选项卡完成”是什么意思。你能详细说明一下吗。

它也值得一看

它“试图遵守POSIX getopt()和GNU getopt_long()的命令行选项语法。” 它似乎有一定的社区吸引力,尤其是作为用户选择的命令行解析库

此外,正如Brett提到的,制表符完成通常由shell提供——您可以编写shell函数来提供所需的功能


p、 很抱歉回答了重复的问题,但我建议,这个问题与您正在搜索一个易于开发交互式shell应用程序的库时的问题几乎相同。

我尝试了几个库,最后使用了。它是Python的一个非常好的Java端口。

通常CLI意味着您的应用程序从命令行获取参数,以确定以何种方式运行。根据您的更新,您的意思是希望在java应用程序中有一个交互式shell样式的进程吗?(像irb?)是的,我确实。。。你是对的,IRB是交互式ruby。我认为如果不使用“命令行”或“cli”这两个短语而重新提问,您会受益匪浅。也许“是否有库可以在java中创建交互式shell?”并给出应用程序的使用示例,以便于说明。看起来不错。这是一个值得关注的好问题。jewelcli没有制表符完成,它只是一个基本的(但很棒的)命令行参数解析器。+1;readline是我首先想到的东西,这似乎是Java的等价物。
cliche
非常简单,但功能非常强大。我推荐它。它会支持密码屏蔽吗