Java控制台菜单库 - 是否有一种简单的方法来创建命令行菜单?

gMa*_*ale 8 java console-application

背景

在Java中,我想制作一个简单,快速的控制台应用程序,它提供一系列菜单并接受用户输入,然后调用某些方法并输出其他菜单.基本上,我需要创建一个循环:

menu > user selection > action > menu > ...
Run Code Online (Sandbox Code Playgroud)

最终,我在使用Apache Camel的集成服务器上使用它.我有一个"快速而肮脏"的应用程序,我用它来运用一些服务器路由作为开发工具.我不想花很多时间在这么简单的事情上.

必须有一个简单的方法来做到这一点.命令行上的控制台和菜单已经存在了几十年!必须有一个java库,这样做很好.我只是没找到一个......

是否有一个库或一些Apache实用程序,或任何可以创建超快速,超级简单的控制台菜单的小菜一碟?

使用适当的工具,制作一个功能相似的菜单应该不到30分钟
git add -i

也就是说,我需要创建类似于git Interactive命令或任何其他控制台应用程序的功能,我想快速完成.


编辑:

下面使用"Cliche"的建议工作得很好,允许我只是注释一些方法并自动创建一个菜单.如果它有助于某人,我想要包括一些关于让Cliche工作的重要说明:

  1. 该项目已移至谷歌代码
  2. 它似乎没有得到维护,但在问题部分,jbachorik对项目进行了重复化!
  3. 以下是我需要对POM进行的唯一调整:

添加回购:

    <repository>
       <id>sonatype-nexus-snapshots</id>
       <url>https://oss.sonatype.org/content/repositories/snapshots</url>
    </repository>
Run Code Online (Sandbox Code Playgroud)

添加依赖:

    <dependency>
        <groupId>com.googlecode.cliche</groupId>
        <artifactId>cliche</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>
Run Code Online (Sandbox Code Playgroud)

rob*_*ett 6

看看Cliche

它使用@Command方法注释来快速创建基于控制台的交互式应用程序.它的类型转换器是基本的,但Camel自己的扩展类型转换器可以配置为使用.它还提供额外的功能,如列出可用命令和约定驱动的输入缩写.