java – args4j:在“用法”中如何手动排序选项?

前端之家收集整理的这篇文章主要介绍了java – args4j:在“用法”中如何手动排序选项?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在args4j中我定义了这样的选项:
@Option(name="-host",usage="host to connect")
@Option(name="-port",usage="port of the host")
@Option(name="-idle",usage="idle")

但是,当显示帮助时,args4j始终按字母顺序使用,以便打印

-host - host to connect
-idle - idle
-port - port to connect

这不方便,因为我想首先显示强制选项.另外我想自己设置选项的顺序,因为一些选项(如主机和端口)应该一起使用.

如何控制args4j中的选项顺序?

我在3年前发现了同样的问题,但没有回答http://markmail.org/message/xce6vitw6miywtos

解决方法

您不能使用当前的Args4j(至少据我所知) – 但由于它是开源的,我鼓励您自己实现它并尝试在新版本的源代码获取补丁.

来自:org.kohsuke.args4j.CmdLineParser:

// for display purposes,we like the arguments in argument order,but the options in    alphabetical order
     Collections.sort(options,new Comparator<OptionHandler>() {
        public int compare(OptionHandler o1,OptionHandler o2) {
            return o1.option.toString().compareTo(o2.option.toString());
        } 
    });

猜你在找的Java相关文章