2014-02-19 77 views
3

我正在使用Apache Commons CLI 1.2來解析在最後使用選項和額外參數的命令行。例如:mycmd -d DIR extra stuffApache Commons CLI - 在幫助輸出中打印結尾參數

我知道如何使用CommandLine.getArgs()獲得'額外'和'東西',但我不知道如何在幫助輸出中顯示這些額外的參數。當我做出這樣的呼籲:

new HelpFormatter().printHelp("mycmd", opts, true); 

我得到的輸出,如:

usage: mycmd -d DIR 

沒有額外的參數。有人能指出我正確的方向嗎?

+0

它是如此跛腳,尾隨的參數不能被定義爲apache-commons-cli的一部分。 –

回答

4

至於我可以告訴只有這樣才能顯示這些額外的參數將不打印自動生成的用法說明,而是打印自定義用法說明是這樣的:

new HelpFormatter().printHelp("mycmd -d <DIR> extra stuff", opts); 

或本

new HelpFormatter().printHelp("mycmd [options] extra stuff", opts); 

或者您想要格式化您的使用說明。

+1

謝謝。我以前用第三個參數'true'嘗試了第二個例子,但是在'extra stuff'之後顯示了參數,這看起來很奇怪。我最終使用了示例2的變體,但是使用了一個頭:'new HelpFormatter()。printHelp(「mycmd [OPTIONS] extra stuff」,「Where OPTIONS can:」,opts,null)''。 –