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

时间:2012-08-03 20:48:19

标签: java console-application

背景

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

menu > user selection > action > menu > ...

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

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

问题

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

实施例

使用合适的工具,制作一个功能如上的菜单需要不到30分钟 git add -i

也就是说,我需要创建与git Interactive commands或任何其他控制台应用类似的功能,我想这样做快速


编辑:

以下建议使用“Cliche”工作得很好,允许我只是注释一些方法并自动创建一个菜单。如果它对某人有所帮助,我想提供一些关于让Cliche工作的重要说明:

  1. 项目已移至google code
  2. 它似乎没有得到维护,但在the issues section jbachorik 对该项目进行了专门化!
  3. 以下是我需要对POM进行的唯一调整:
  4. 添加回购:

        <repository>
           <id>sonatype-nexus-snapshots</id>
           <url>https://oss.sonatype.org/content/repositories/snapshots</url>
        </repository>
    

    添加依赖项:

        <dependency>
            <groupId>com.googlecode.cliche</groupId>
            <artifactId>cliche</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
    

1 个答案:

答案 0 :(得分:6)

查看Cliche

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

相关问题