Java命令行"shell"具有自动完成功能

Jac*_*cob 6 java stdin autocomplete

我需要创建一个Java命令行,它将在服务器上远程调用.它需要:

  • 读取用户的文本"行".
  • 识别用户是否按下"tab"键以便于自动完成.
  • 识别用户是否按下"上/下"键以获取历史记录.

在我开始自己推出之前,是否有人知道Java库可能会促进全部或部分内容?

从ssh中的命令行看起来可能如下所示:

bob> java -jar MyTool.jar

MyTool开始了.
请输入命令:

> server1启动
服务器启动...
服务器启动

> server2加载帐户
完成

> server3 shutdown
完成

>退出

Rem*_*pma 5

更新:picocli壳jline2picocli壳jline3有机结合起来的JLine 2和3的强度picocli

Picocli 允许您使用很少的代码编写带有选项和位置参数的命令(和子命令),并且该库将为所有命令生成 JLine 2 和 3 命令完成器。

它在使用帮助消息中使用 ANSI 颜色和样式,并具有许多其他独特的功能,如可否定选项、可重复嵌套参数组、变量插值等。

在此处输入图片说明

免责声明:我是作者,因此有偏见。