picocli支持將嵌套子命令設置爲任意深度。
主命令定義全局選項,每個嵌套命令的級別都可以添加僅適用於該級別的選項。
CommandLine commandLine = new CommandLine(new MainCommand())
.addSubcommand("cmd1", new ChildCommand1()) // 1st level
.addSubcommand("cmd2", new ChildCommand2())
.addSubcommand("cmd3", new CommandLine(new ChildCommand3()) // 2nd level
.addSubcommand("cmd3sub1", new GrandChild3Command1())
.addSubcommand("cmd3sub2", new GrandChild3Command2())
.addSubcommand("cmd3sub3", new CommandLine(new GrandChild3Command3()) // 3rd
.addSubcommand("cmd3sub3sub1", new GreatGrandChild3Command3_1())
.addSubcommand("cmd3sub3sub2", new GreatGrandChild3Command3_2())
// etc
)
);
您可能還喜歡它對ANSI樣式和顏色的使用幫助。
除了選項和位置參數之外,用法幫助還列出了註冊的子命令。
的使用幫助,很容易與註釋定製。
- 基於註解
- 混帳風格子
- 嵌套子子
- 強類型選項參數
- 強類型的位置參數
- 自定義類型轉換
- 多值選項
- 一個字段有多少爭論消耗
- 流利的API
- POSIX風格的集羣短選項
- GNU風格的長選項
- 直觀的模型允許任何選項前綴
- ANSI顏色使用幫助
- 可自定義使用幫助
- 單一源文件:包含源代碼以保持您的應用程序單個罐子
這個問題是堆棧溢出題外。改爲嘗試[SE軟件建議](http://softwarerecs.stackexchange.com/)。 – RealSkeptic
謝謝。 http://softwarerecs.stackexchange.com/questions/38519/java-command-line-parser-with-subcommands-that-have-similiar-options –