對於Java中的命令行解析,我通常使用Apache Commons CLI。 任何人都可以推薦任何其他庫嗎?命令行解析:Commons CLI的替代方案?
回答
JCommander聽起來像是一個非常簡單和有趣的方式來解析命令行參數與標註使用一次輕量級庫(從創建者TestNG的):
您註釋字段與您的選項的說明:
import com.beust.jcommander.Parameter;
public class JCommanderTest {
@Parameter
public List<String> parameters = Lists.newArrayList();
@Parameter(names = { "-log", "-verbose" }, description = "Level of verbosity")
public Integer verbose = 1;
@Parameter(names = "-groups", description = "Comma-separated list of group names to be run")
public String groups;
@Parameter(names = "-debug", description = "Debug mode")
public boolean debug = false;
}
,然後你只是問JCommander解析:
JCommanderTest jct = new JCommanderTest();
String[] argv = { "-log", "2", "-groups", "unit", "a", "b", "c" };
new JCommander(jct, argv);
Assert.assertEquals(jct.verbose.intValue(), 2);
這是Cederic如何介紹它的:http://beust.com/weblog/2010/07/13/announcing-jcommander-1-0/ – Jan 2010-07-22 14:17:52
無法找到API來打印幫助。看到相關的問題:http://stackoverflow.com/questions/30046171/how-to-print-help-using-jcommander – 2015-05-05 07:04:44
JCommander現在在這裏http://jcommander.org/ – xamde 2016-06-21 10:28:35
列舉了幾個在java-source.net你可以找到至少4個其他替代庫Apache的百科全書CLI。
getopt的-1.0.11是一個簡單易用的我的命令行arguements解析
我個人使用kohsuke的args4J在https://github.com/kohsuke/args4j
這也是我個人的喜好。 args4j比JCommander更靈活。原則是一樣的,但使用和區分參數和選項更直觀。 – 2016-07-25 20:23:13
你可以嘗試commandline(相當匿名的名字,我知道)
它使用註釋命令行參數映射到一個對象模型。一對解析 模式和一系列可以各種方式組合的註釋允許您創建相當先進的命令行選項規則。
雖然它允許您將命令行參數直接映射到您的域模型 ,但您應該考慮對命令行參數使用單獨的類。
- 1. 當使用commons-cli解析命令行時的同義詞
- 2. 命令行中的Commons CLI空選項
- 3. IMAP搜索命令的替代方案
- 4. 狀態解析的替代方案
- 5. Windows命令行上的PuTTY/KiTTY替代方案
- 6. 替代的if else嵌套的命令行解析
- 7. 替代的解決方案
- 8. 解析命令CLI程序Python
- 9. MonoDevelop命令行編譯解決方案
- 10. Commons CLI不尊重我的命令行安裝
- 11. AppendAllLines替代解決方案
- 12. 替代解決方案underscore.js
- 13. 使用ubuntu CLI,SCREEN命令的任何替代方法
- 14. Java解析當前解決方案的替代
- 15. 替代解決方案解析巨大的文件
- 16. Python:解析命令行
- 17. 解析execve的命令行()
- 18. 命令行解析/ argv的
- 19. Git的StatSVN替代方案?
- 20. 命令行參數解析
- 21. 解析命令行參數
- 22. Apache Commons CLI選項解析器可以忽略未知的命令行選項嗎?
- 23. 「CSharpCodeProvider.Parse」的替代方案
- 24. 解析命令行參數
- 25. $ watch的替代方案
- 26. 使用Apache公共命令行解析cli
- 27. 替代解析方法
- 28. Cmake,Boost解析命令行
- 29. commons beanutils替代
- 30. 解析命令行參數
如果您打算尋求替代您平時使用的替代方法,那麼如果您要說出您的常規選項無法提供的內容,將會非常有用。 – 2010-07-22 13:22:22
說實話,我並沒有想到特別缺失的功能。誠然,Apache Commons CLI是'經過測試的',但它也相當冗長。我只是想知道是否有人在這個領域引入了新的想法。在這個類別中,我想我會仔細看看下面的JCommander建議。 – Jan 2010-07-22 13:58:30
可能的重複[是否有一個很好的命令行參數解析器的Java?](http://stackoverflow.com/questions/367706/is-there-a-good-command-line-argument-parser-for-java) – 2010-08-13 11:38:17