有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

命令行界面当前活跃社区中的哪个Java CLI库功能更丰富?

这个问题的主要目标是创建一个包含易于使用、分布广泛(或多或少)的Java CLI库(及其功能)的表。所以,如果有人需要这样的库,他可以从这个页面中选择一个,过滤表中所需的功能

限制

  1. 仅限开源库
  2. 这并不是本问题的目的,而是要涵盖所有现有的CLI库。如果我们不添加带有难以找到的文档的“几乎死亡”库,那么选择有用的东西就更容易了。如果您不确定自己的CLI库,但对它的功能感到自豪,并且可以描述为什么它比其他库更好,那么请添加带有信息的答案/注释。如果答案/评论获得10票,则可以将此类库添加到表中
  3. 这同样适用于向表中添加功能。如果功能不是很有用,并且您不确定,请使用“10次投票”方法进行检查

共 (1) 个答案

  1. # 1 楼答案

    Java CLI库和功能表

    Java CLI libraries and features
    如果你想更新这个表格,你应该在这个答案的末尾编辑CSV数据。将数据复制到文件,将文件导入Google Docs电子表格。与所有人共享只读电子表格,并替换上面的链接

    表中使用的缩写:

    • y(是的,很好)
    • p(部分平均)
    • n(不坏)
    • u(未知-请随意插入正确的值)

    表中的功能描述

    功能相关(lib A可以做lib B做不到的事情)

    1. 支持为所有参数/子参数生成用法/帮助文本
    2. 支持至少一个额外级别的子组件(如JCommander中的“命令”)
    3. 国际化

    与项目状态相关(图书馆和文档仍在更新或几年内没有更新)

    评论:在下面的所有案例中,Maven和Ivy分别扮演了Maven Central RepositoryIvyRoundup Repository的角色

    1. 最新发布日期(如有,请使用Maven/Ivy)
    2. 提供最新版本(如有Maven/Ivy版本)
    3. Maven/Ivy中可用版本的数量(仅统计版本,不包括里程碑或快照)

    编码风格相关功能

    1. 使用注释提供参数格式

    带有链接的库列表(不要向表中添加链接)

    Commons CLI-examples
    JOpt Simple-examples
    args4j-example
    JCommander-主页上的所有示例

    故意忽略的库/功能列表的占位符


    用于共享表格编辑的CSV数据。最好在更新CSV数据的同时更新此答案顶部的链接。但它也可能在以后更新

    表中的记录根据Google查询“Java CLI”排序。更多被引用的结果将是第一个,没有人能说我有偏见

    Name,Date of latest release,Latest version available from Maven/Ivy,Number of available versions for Maven/Ivy,Uses annotations to provide arguments format,Generates usage text for all arguments,Support for at least one additional level of subarguments,Internationalization
    Commons CLI,2015-06-17,1.3.1,5,n,y,n,n
    JOpt Simple,2016-09-25,5.0.3,23,n,y,n,n
    args4j,2016-01-31,2.33,31,y,y,n,n
    JCommander,2017-02-12,1.64,31,y,y,y,y